0
我想在JavaScript中放入一些用户首选项。以前我通过控制器通过<%= javascript_link_tag ...>来渲染我的JavaSript文件preferences.js.erb。现在应该如何烹饪3.1资产管道?Rails 3.1资产管道和JS预处理
我想在JavaScript中放入一些用户首选项。以前我通过控制器通过<%= javascript_link_tag ...>来渲染我的JavaSript文件preferences.js.erb。现在应该如何烹饪3.1资产管道?Rails 3.1资产管道和JS预处理
绝不会。application.js是静态的 - 在生产时,它通过rake assets:precompile
命令生成一个大的静态文件。
所以,你可以包括单独的文件preferences.js.erb你提出或直接页面上呈现的偏好 - 因为你节省1个请求(但糟糕的是,因为他们不会像缓存),第二个是更好的。 为了最小化偏好的大小,最好将它们呈现在JSON中,如下所示:
def user_preferences
javascript_tag "
var user_settings = #{ActiveSupport::JSON.encode(current_user.settings)}
"
end