Railsの変数にjsファイルからアクセスするのに便利なgem「gon」の使い方

スポンサーリンク
Pocket
LINEで送る

jsファイルには<%= @users %>のように書けないのでrubyの変数にアクセスすることはできません。

今回はjsファイルからcontrollerで生成した変数にアクセスすることができる便利なgem「gon」に使い方を紹介したいと思います。

 

gonの使い方

まずはインストールします。

gem “gon”

bundle install

 

インストールしたらlayoutのhead辺りに以下を記述します

<%= Gon::Base.render_data %>

 

contorllerで変数を作りgonに渡します。

スポンサーリンク
gon.user = User.find(1)

 

ソースを見ていると変数の中身が展開されています。

jsファイルからこの変数にアクセスするには

console.dir(gon.user);

 

こんな感じで簡単にアクセスすることができます

 

※eager_loadした変数をすべて展開してhtmlに渡す方法が調べてもわからなかったので誰か教えてください

 

https://github.com/gazay/gon