gpt4 book ai didi

ruby-on-rails - 带有 validates_related 的重复错误消息

转载 作者:行者123 更新时间:2023-12-03 18:34:09 25 4
gpt4 key购买 nike

这里有两个类,1:n 关系

class Company < AR::Base
has_many :brands
validates_associated :brands
end

class Brand < AR::Base
belongs_to :company
validates_presence_of :name
end

我尝试为公司添加品牌。如果品牌名称为空,它会给我重复的错误消息。

c = Company.find(1)
c.valid?
# => true
c.brands.new
# => #<Brand id: nil, name: nil, company_id: 1, created_at: nil, updated_at: nil>
c.valid?
#=> false
c.errors.full_message
#=> ["Brands is invalid", "Brands is invalid"]
c.brands.last.errors.full_message
#=> ["Name required"]

最佳答案

验证关联可以通过两种方式实现
第一个选项简单:

has_many :brands, validate: true

第二个选项是使用 validates_related ,这会导致重复的错误消息,可以通过将 validate 显式设置为 false 来避免:
has_many :brands, validate: false
validates_associated :brands

笔记:
如果您需要任何其他选项,例如 validates_related :if, :unless 等,您可以选择第二个选项,否则选择第一个选项,不会导致重复错误。

关于ruby-on-rails - 带有 validates_related 的重复错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com