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

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

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

我能做的最好的就是:

  1. en:
  2. welcome:
  3. hello there,(name)! It's nice to see you again.
  4.  
  5. ....
  6.  
  7. t(:welcome).gsub("(name)",current_user.first_name)

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

解决方法

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

和你这样的看法

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

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

猜你在找的Ruby相关文章