我有一个用于创建客户端的表单,在其中一个字段中我必须选择客户端的语言。在模型中,我有一个验证来检查字段是否为空,但即使提供了语言,也会显示验证错误。
查看:
ls
型号:
<%= f.input :locale, as: :select, collection: locale_for_select, prompt: false %>
控制器:
validates :locale, presence: true
我已经使用浏览器的开发人员工具检查实际发送的值,尽管模型验证失败。
对于发生了什么有什么想法?
修改:
我注意到此错误仅在创建新客户端时发生,而不是在编辑现有客户端时发生。但是,当我编辑客户端时,这个新值不会持久保存到数据库
编辑2 :
编辑3 :
这很奇怪,因为在相同的表单中,我有一些其他选择输入正常工作,并以相似的方式处理。
答案 0 :(得分:0)
byte
答案 1 :(得分:0)
问题是我使用Globalize添加了一个本地化字段,我没有考虑this:
因为globalize使用:locale键来指定语言环境 大规模赋值,你应该避免使用locale属性 父模型。
我为解决此问题所做的是将:locale
属性重命名为:client-locale
并执行相应的迁移以重命名该列。