设计闪存消息中的字符串插值?
string interpolation in devise flash messages?
我是 RoR 的新手,我想个性化 Devise 快闪消息以使用当前用户的名称。
我看到原始文件包含以下行:
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}\"."
但是代码没有执行,而是将整个句子打印为字符串。
如有任何帮助,我们将不胜感激! :)
应该是
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
文件中使用 ruby 插值,但您可以将变量传递给 translation
并使用 yml
插值语法 %{}
我是 RoR 的新手,我想个性化 Devise 快闪消息以使用当前用户的名称。
我看到原始文件包含以下行:
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}\"."
但是代码没有执行,而是将整个句子打印为字符串。
如有任何帮助,我们将不胜感激! :)
应该是
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
文件中使用 ruby 插值,但您可以将变量传递给 translation
并使用 yml
插值语法 %{}