2016-09-16 7 views
1

私はRoRを初めて使いました。私は現在のユーザーの名前を使用するようにDeviseフラッシュメッセージをパーソナライズしたいと思います。deviseフラッシュメッセージの文字列補間?

failure: "Could not authenticate you from %{kind} because \"%{reason}\"." 

だから私は同じルールを適用した

devise.en.yml:

は、私は、元のファイルに次の行が含まれていることを見てきました

sessions: 
    signed_in: "Welcome back!." 
    signed_out: "See you soon!." 

-

sessions: 
    signed_in: "Welcome back! \"#{current_user.first_name}\"." 
    signed_out: "See you soon! \"#{current_user.first_name}\"." 

しかし、コードは実行されておらず、文全体を文字列として出力します。

助けていただけたら幸いです! :)

答えて

3

それは

sessions: 
    signed_in: "Welcome back! %{name}." 
    signed_out: "See you soon! %{name}." 

する必要があり、あなたが好きそれを呼び出す必要があります。

t('sessions.signed_in', name: current_user.first_name) 
t('sessions.signed_out', name: current_user.first_name) 

あなたはymlファイルにルビー補間を使用することはできませんが、あなたがtranslationと使用に変数を渡すことができますyml補間構文%{}