Rails 关于 ruby 中写 js 的疑惑

shangrenzhidao · 2014年10月27日 · 最后由 ywjno 回复于 2014年10月27日 · 1303 次阅读

1 在什么情况下写到写到.js.coffee 什么情况下写到.js.erb 中。 2 如果想在 coffee 中使用 ruby 变量,该怎么做。

sample.js.coffee.erb 中插入 <%= @abc %> ,Rails 的处理顺序是 erb -> coffee -> js,从后向前。

sample.css.scss.erb 也是同理。

但是你说的变量,必须是 assets:precompile 时就可以确定其值的变量,而不可以是运行时才可以确定其值的变量。其实是常量。

#1 楼 @libuchao 就是运行时产生的。

erb

<body data-ruby-object-value="<%= ruby_object_value %>">
....
<body>

js

var rubyObjectValue = $('body').data('ruby-object-value');
需要 登录 后方可回复, 如果你还没有账号请 注册新账号