Gemのgonがincludeできない
解決したいこと
Gemのgonを導入しましたが、エラーになってしまい使用することができません。
行った手順
Gemfileにgem 'gon'記述、bundle install
(Gemfile.lockには入っていました)
views/layouts/application.html.erb
<head>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= include_gon %> ← ここに記述
<%= javascript_pack_tag 'application' %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
コントローラー
def new
@document = Document.new
@sheets = current_user.sheets.all
gon.sheets = @sheets ← ここに記述
end
発生している問題・エラー
NameError
undefined local variable or method `include_gon' for...
試してみたこと
- head内ではなくbody内のjs読み込み部分の上でinclude
- <%= include_gon %> を <%= Gon::Base.render_data %> に変更
互換性や読み込み順序などに問題があるのでしょうか。
エラーの原因がわからず手詰まりなので、他に確認するべきことがありましたら教えていただきたいです。
少し気になっている部分
javascript/packs/application.js の並び順
require("jquery")
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("@nathanvda/cocoon")
require("bootstrap/dist/js/bootstrap")
0