我刚刚开始使用Rails,而且我对如何为会话设置变量感到有些困惑。
在我的应用中,我希望用户能够选择英语或法语,当他们点击文章时,它会以所选语言显示。
如果他们选择英语,则会将其保存为' Preferred_lang'。但是,他们可以随时更改它。
现在,我在文章展示页面的开头有这个条件:
- if current_user.preferred_lang = 'English'
= render 'english'
- else
= render 'french'
对我来说,这似乎并不高效。有没有办法设置' current_language'在会话开始时,如果用户更改它,则更新它?
答案 0 :(得分:0)
它只是一个关键的价值对(哈希)。所以你可以这样设置:
session[:preferred_lang] = @current_user.preferred_lang
然后你可以使用它:
if session[:preferred_lang]
# I found a previously set preferred_lang
else
# No previously set prefferd_lang
end
然后你可以随时更新它,如果你愿意,可以删除。