2016-07-18 2 views
0

私はRailsを使い始めていますが、セッションの変数を設定する方法について少し混乱しています。Railsでセッションの変数を設定する方法は?

私のアプリでは、ユーザーが英語またはフランス語のいずれかを選択でき、記事をクリックすると、選択した言語で表示されます。

英語を選択すると、「Preferred_lang」として保存されます。ただし、いつでも変更することができます。

今、私は記事の冒頭で、この条件を持っているが、ページを表示する:

- if current_user.preferred_lang = 'English' 
    = render 'english' 
- else 
    = render 'french' 

それは私にとって非常に効果的なようではありません。セッションの開始時に 'current_language'を設定し、ユーザーがそれを変更した場合はそれを更新する方法はありますか?

+0

効率的ではありませんか?分岐はどういう意味ですか?効率的ではないのはなぜですか? –

+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 

あなたが望むなら、あなたは、任意の時点でそれを更新し、削除することができます。

関連する問題