我不知道如何在 collection_select 助手中本地化符号列表。
class User < ActiveRecord::Base
bitmask :regions, :as => [:north, :south, :est, :west]
end
形式:
<tr>
<th><%= f.label :regions %></th>
<td><%= f.collection_select :regions, User.values_for_regions, :to_s, :to_s %></td>
</tr>
我不确定我对第四个参数有很好的理解。可以定制吗? 我想为集合中的每个元素显示一个本地化字符串(User.values_for_regions 返回 [:north, :south, :est, :west])。 I18n.t(:to_s) 不评估符号,而是评估字符串“to_s”。如何访问集合中的每个符号以应用 t 方法? 谢谢你的帮助 !
最佳答案
我可能会迟到,但这里是所有可能偶尔遇到这个问题的人的答案。
作为 text_method
,我们可以传入一个负责翻译的 Proc:
<%= f.collection_select :regions, User.values_for_regions, :to_s, Proc.new { |val| I18n.t(val, scope: 'activerecord.attributes') } %>
关于ruby-on-rails - Rails - I18n - 如何本地化 f.collection_select 中的符号集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637459/
相关文章:
php - 如何将动态生成的 PDF 文件保存到 zip 文件中?
php - 发送邮件 sh :/usr/sbin/sendmail: Permission deni
xml - HTML 到 XML,反之亦然,并在运行时从 UI - JAXB 使用模式进行验证?
asp.net - 使用分页在 RadGrid Telerik 中查找记录
macos - 为什么 OS X 上缺少 Emacs 图标?
macos - 从终端的钥匙串(keychain)中删除私钥
asp.net-mvc - ASP.NET MVC 表单例份验证导致登录 url 被调用两次