Passing instance variable to js.erb file (Rails 3 / jQuery)

半腔热情 提交于 2019-12-06 00:20:09

问题


I have an "index.html.erb" file with the following:

<%= render @users %>

This renders "_user.html.erb" and outputs a button for performing a certain action on each user:

<%= link_to "action", action_path(user), :id => "#{user.id}_action", :remote => true) %>

I've set up my User controller to respond to the AJAX request by looking at "action.js.erb".

In order to perform javascript methods on particular users within the partial, and I'd like to know how instance variables from my partial (such as user.id) can be passed into or accessed within the js.erb file, for instance:

$("#{@user.id}_action").toggle();

回答1:


You access the information in your *.js.erb-files just like in your *.html.erb-files, using @users or other instance variables declared in the controller:

$("#<%= @user.id %>_action").toggle();



回答2:


there's an excellent gem called gon that might simplify and organize things quite a bit: https://github.com/gazay/gon/blob/master/README.md



来源:https://stackoverflow.com/questions/6003501/passing-instance-variable-to-js-erb-file-rails-3-jquery

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!