railsの変数をjavascript内で使えるgonが便利だよ
asset配下のjavascript内でrailsの変数を使いたい場合、 gonというGemを使えばすぐに呼び出せます。
Gemをインストール
Gemfile
に下記を追記後、bundle install
を実行
gem 'gon'
application.html.erbへ設定を追記
app/views/layouts/admin/application.html.erb
<head>
タグ内に設定の一筆を書く
<%= include_gon %>
controller内に変数を書く
app/controllers/hoges_controller.rb
def hohohoho gon.user_name = "Kaorina" #ユーザー名Kaorinaをgon.xxxという変数名に入れる end
javascript側から変数を参照!
app/assets/javascripts/hoge.js
$(document).ready(function() { var userName = gon.user_name #コントローラーで設定した変数名 gon.xxxでよびだせる });
配列、ハッシュも渡すことができるようです。
gon.name = ["Kaorina", "Suzukina"]
gon.name = { first: "Kaorina", last: "Suzukina"}