Kaorina’s diary

Ruby on Railsとかとか

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"}