我是RoR的新手,我想个性化Devise Flash消息以使用当前用户的名字。
我看到原始文件包含以下行:
devise.en.yml
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
所以我将相同的规则应用于:
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}\"."
但代码没有执行,并将整个句子打印为字符串。
任何帮助将不胜感激! :)
答案 0 :(得分: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
插值语法%{}