xengineer’s diary

結果、メモ的な内容になっています。

railsで、controllerから直接javascriptに変数渡したいゴン

はい、表題の通りだゴン。

そしてそれを実現してくれるのが、こちら!

github.com

gonです。

↓の記事と同じことを書くだけになりますが・・・

gonを使ったRailsとJavascriptの連携について - Qiita

やることは、下記の流れ。

  • gem 追加 and install
  • application.html.hamlにinclude gon追加
  • controllerに変数記述
  • js側で利用

gem 追加 and install

Gemfileに下記追記。

gem 'gon'

からの、bundle install

$ bundle install

application.html.hamlにinclude gon追加

app/view/layout/application.html.hamlに下記追記。

 %html
   %head
     %title Title of page
     = include_gon★
     = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
     = javascript_include_tag 'application', 'data-turbolinks-track' => true
...
...

controllerに変数記述

僕は、ajaxで使うURLを渡したかったので、controllerにこんな感じに追記。

gon.url = organization_path(@organization)

js側で利用

js側でも同じ変数名で呼び出せるので、特にひねりなく呼び出します。

GETURL = gon.url + '/unko_yobidashi/'

ざっくりこんな感じ。