ruby-on-rails - Rails - I18n - 如何本地化 f.collection_

我不知道如何在 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 被调用两次

django-admin - Django 管理员覆盖字段集

r - 具有大量数据的热图

asp.net - 我该如何解决 : the type or namespace name 'DbM