我有一个“index.html.erb”文件,其中包含以下内容:
<%= render @users%>
这会呈现“_user.html.erb”并输出一个按钮,用于对每个用户执行某项操作:
<%= link_to“action”,action_path(user),:id => “#{user.id} _action”,:remote => true)%>
我已经设置了我的用户控制器,通过查看“action.js.erb”来响应AJAX请求。
为了对partial中的特定用户执行javascript方法,我想知道如何将我的partial(例如user.id)中的实例变量传递到js.erb文件中或在js.erb文件中访问,实例:
$("#{@user.id}_action").toggle();
答案 0 :(得分:11)
您可以使用*.js.erb
或控制器中声明的其他实例变量访问*.html.erb
- 文件中的信息,就像在@users
- 文件中一样:
$("#<%= @user.id %>_action").toggle();
答案 1 :(得分:7)
有一个名为gon的优秀宝石可以简化和组织一些东西: https://github.com/gazay/gon/blob/master/README.md