Ruby on rails rails 3中的I18n下拉选择,国际化并在值内获取ID值="&引用;
我正在尝试将数组中的字符串国际化,以填充下拉选择表单字段。下面我发布了来自谷歌博客帖子的代码(包括信用链接) 我想做的是Ruby on rails rails 3中的I18n下拉选择,国际化并在值内获取ID值="&引用;,ruby-on-rails,internationalization,drop-down-menu,selection,Ruby On Rails,Internationalization,Drop Down Menu,Selection,我正在尝试将数组中的字符串国际化,以填充下拉选择表单字段。下面我发布了来自谷歌博客帖子的代码(包括信用链接) 我想做的是 have value=“1”,因此在值中包含整数而不是文本(使用当前选项,文本也会插入值中) 我想这样做是因为我有一个配置文件表,上面有列,比如education:integer。我不知道这是否是保存数据的最佳方法,但我认为这是因为单个整数在数据库中占用的空间更少 对下面提供的代码和解决方案有何评论?有没有更好的方法 我有一个国家列表,我已经在我的数据库中插入了类似Dat
- have value=“1”,因此在值中包含整数而不是文本(使用当前选项,文本也会插入值中)
- 我想这样做是因为我有一个配置文件表,上面有列,比如education:integer。我不知道这是否是保存数据的最佳方法,但我认为这是因为单个整数在数据库中占用的空间更少
- 对下面提供的代码和解决方案有何评论?有没有更好的方法
def translated_job_category
I18n.t(job_category, :scope => :job_categories)
end
结束
在助手中:
module JobsHelper
def job_categories
I18n.t(:job_categories).map { |key, value| [ value, key ] }
end
end
在你看来:
<%= f.select :job_category, job_categories %>
helper方法创建select helper能够理解的数组。
它将缩短的键(“本科”、“研究生”等)保存在
数据库,作为某种可枚举的。请确保它们保持不变
所有语言
如果要显示对象的作业类别,可以执行以下操作:
@job.translated\u job\u类别以获取转换后的值
<%= f.select :job_category, job_categories %>