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