ruby-on-rails-3 – 使用I18N从验证选项生成选择标记
发布时间:2020-12-17 03:45:51 所属栏目:百科 来源:网络整理
导读:是否可以从模型验证中创建选择标签而不会出现I18N问题? 例如,如果我有这样的模型: 模型: class Coffee ActiveRecord::Base SIZES = [ "small","medium","big" ] validates :size,:inclusion = { :in = SIZES,:message = "%{value} is not a valid size" }
是否可以从模型验证中创建选择标签而不会出现I18N问题?
例如,如果我有这样的模型: 模型: class Coffee < ActiveRecord::Base SIZES = [ "small","medium","big" ] validates :size,:inclusion => { :in => SIZES,:message => "%{value} is not a valid size" } end 形成: <%= f.label :size %><br /> <%= select(:coffee,:size,Coffee::SIZES.collect {|d| [d,d]}) %> 如何使这种语言独立? 解决方法
如果您试图使验证消息独立,那么您实际上并不需要提及哪个大小无效,只是确实如此.你正在传递一个HTML选择表单,如果他们选择了另一个大小,那么他们更可能会弄乱某些东西,所以不需要精确的错误信息.
对于选择文本本身,您可以将其传递给i18n系统并在其中处理它.通过使用Coffee :: SIZE.collect构建数组{| d | [t(“.#{d}”),d]}您可以在该视图的i18n文件中添加小,中,大文件,以根据您的验证选项获取本地化值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |