有没有办法做这样的事情:
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找到更多