将JQuery内容放在.html.erb文件rails中是一种好习惯吗?

时间:2014-02-03 12:21:54

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

我正在开发一个rails应用程序,我是新手。

我将部分JQuery函数放在.html.erb中,因为我必须将活动记录字段用作JQuery中的变量。

将JQuery放在.html.erb ??

中是一种好习惯

我对.js.erb文件了解不多,但没有那么多。

2 个答案:

答案 0 :(得分:2)

通常我使用数据API将这样的内容放入我的HTML中,因此javascript不必进入html.erb文件。

例如:

<%= link_to 'Stuff', path, id: 'target', data-attr: model.attr %>

然后你可以简单地阅读这些:

$('#target').data('attr');

答案 1 :(得分:1)

我同意beautifulcoder的回答。在大多数情况下,我个人更喜欢的另一种方法是名为Gon的gem,它负责将ruby哈希数据序列化为JavaScript关联数组。

例如,如果您希望当前登录用户的用户名可用:

在Ruby中:

def index
    gon.username = @current_user.username
    ... rest of method
end

在JavaScript中:

var username = gon.username

因此,您无需在ERB中嵌入任何其他数据,从而有助于进一步清理视图代码。