将实例变量传递给js.erb文件(Rails 3 / jQuery)

时间:2011-05-14 17:17:42

标签: javascript jquery ruby-on-rails ruby-on-rails-3 partials

我有一个“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();

2 个答案:

答案 0 :(得分:11)

您可以使用*.js.erb或控制器中声明的其他实例变量访问*.html.erb - 文件中的信息,就像在@users - 文件中一样:

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

答案 1 :(得分:7)

有一个名为gon的优秀宝石可以简化和组织一些东西: https://github.com/gazay/gon/blob/master/README.md