我想在JavaScript中添加一些用户首选项。以前我通过控制器通过<%= javascript_link_tag ...>渲染我的JavaSript文件 preferences.js.erb 来完成它。现在如何使用3.1资产管道进行烹饪?
答案 0 :(得分:1)
绝不是..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