我有一个Web应用程序,我想在会话中存储用户首选的样式表,我需要将其默认填充到某些默认值,直到用户无法登录等。对于这个purpouses我使用session(可能不是最好的)解决方案,但没关系),我需要一个可以初始化此变量的地方。示例:
session[:user_theme] = 'default.css'
我不希望每次在某些功能中过滤之前检查它,我想初始化一次然后只通过UI更改。 你能帮我找到更好的地方吗?
答案 0 :(得分:1)
我认为应用程序控制器是个好地方。类似的东西应该有效。
class ApplicationController < ActionController::Base
before_filter :set_theme
def set_theme
session[:user_theme] ||= (current_user ? current_user.preferred_theme : 'default.css')
end
end
修改
哎呀我误读了问题。但我同意尼尔斯的意见,这是最好的选择。并且|| = aperator只会初始化一次。