我正在使用 globalize 进行 Rails 项目,其中我有一个名为Product的模型,如下所示:
class Product < ActiveRecord::Base
translates :name, :description
validates :name, presence: true
end
问题是验证不适用于其他语言环境的更新,它正在使用第一个创建方法,但是每当我想用另一个语言环境更新对象时,它不会检查名称的存在。下面的例子:
Product.create!
(0.3ms) BEGIN
(0.2ms) ROLLBACK
ActiveRecord::RecordInvalid: Validation failed: Name can't be blank
一旦创建了产品并进行了翻译,当尝试更新另一个语言环境时,不会检查验证器,例如:
irb(main):009:0> p.update_attributes(name: "", locale: :es)
(0.2ms) BEGIN
(0.1ms) COMMIT
=> true
关于如何实现这一点的任何想法?