【问题标题】:Passing instance variable to js.erb file (Rails 3 / jQuery)将实例变量传递给 js.erb 文件(Rails 3 / jQuery)
【发布时间】:2011-08-25 14:24:23
【问题描述】:

我有一个“index.html.erb”文件,其中包含以下内容:

这会呈现“_user.html.erb”并输出一个按钮,用于对每个用户执行特定操作:

"#{user.id}_action", :remote => true) %>

我已经设置我的用户控制器通过查看“action.js.erb”来响应 AJAX 请求。

为了对部分中的特定用户执行 javascript 方法,我想知道如何将我的部分中的实例变量(例如 user.id)传递到或在 js.erb 文件中访问,例如实例:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 请参阅编辑。在 js.erb 中声明 @user.id 是不被识别的。
    • 太棒了。与一个小的编辑一起使用“#”前缀声明css id。 (请在您的答案中进行编辑,它不会让我这样做)。谢谢!
    • 我在@user 或@whatever 上获得了nil
    【解决方案2】:

    有一个很棒的 gem,叫做 gon,它可以简化和组织很多事情: https://github.com/gazay/gon/blob/master/README.md

    【讨论】:

    • 完美!!正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2010-10-31
    • 1970-01-01
    • 2014-10-15
    • 2011-06-09
    • 1970-01-01
    相关资源
    最近更新 更多