1 在什么情况下写到写到.js.coffee 什么情况下写到.js.erb 中。 2 如果想在 coffee 中使用 ruby 变量,该怎么做。
sample.js.coffee.erb 中插入 <%= @abc %> ,Rails 的处理顺序是 erb -> coffee -> js,从后向前。
sample.js.coffee.erb
<%= @abc %>
sample.css.scss.erb 也是同理。
sample.css.scss.erb
但是你说的变量,必须是 assets:precompile 时就可以确定其值的变量,而不可以是运行时才可以确定其值的变量。其实是常量。
assets:precompile
#1 楼 @libuchao 就是运行时产生的。
#2 楼 @shangrenzhidao 不行的,参考 https://ruby-china.org/topics/20249
erb
<body data-ruby-object-value="<%= ruby_object_value %>"> .... <body>
js
var rubyObjectValue = $('body').data('ruby-object-value');