ruby-on-rails – 如何在I18n语言环境中执行插值?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在I18n语言环境中执行插值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法做这样的事情:
en:
  welcome:
    hello there,#{current_user.first_name}!  It's nice to see you again.

这显然不行,显然“#{”是yaml中的无效字符,因为当我拉出它时,该字符串显示为只是“你好”.

我能做的最好的就是:

en:
  welcome:
    hello there,(name)!  It's nice to see you again.

....

t(:welcome).gsub("(name)",current_user.first_name)

但是我不是那么疯狂…必须有一个更好的方式来做这种事情.

解决方法

像这样替换你的en.yml
en:
  welcome:
    "hello there,%{name}!  It's nice to see you again."

和你这样的看法

<%=t(:welcome,:name=> current_user.first_name) %>

基本上它作为一个命名参数传递.你可以在Rails Guides 18n Interpolation找到更多

猜你在找的Ruby相关文章