gpt4 book ai didi

ruby-on-rails - 如何验证关联模型?

转载 作者:行者123 更新时间:2023-12-02 04:08:38 25 4
gpt4 key购买 nike

这是我第一次构建自定义验证,因为尝试常规 ORM 验证不起作用。我有一个名为 AdGroup 的模型,它属于另一个名为 Car 的模型。我想阻止用户在未选择汽车的情况下创建新的广告组。汽车也是一个文件。

class AdGroup < ActiveRecord::Base
belongs_to :car
validate :validate_car_id

def validate_car_id
car = Car.find_by(id: params[:id])
if car.nil?
errors.add(:car, "Select a car image")
end
end
end

class Car < ActiveRecord::Base
validates :make, :model, :year, presence: true
validates :file, presence: true
belongs_to :make
has_many :ad_groups

...
end

是我要选择的图像。

最佳答案

您的广告组型号需要与汽车型号相关联。 AdGroup 模型应具有 belongs_to :car 行,并且 Car 模型需要 has_many :ad_groups

要验证关联模型,您可以使用 ActiveRecord 的 validates_associated 。请务必阅读链接中的文档以了解陷阱。

class AdGroup < ActiveRecord::Base
belongs_to :car

validates :car, presence: true
validates_associated :car
end

使用validates_linked时,您不必进行自定义验证。

关于ruby-on-rails - 如何验证关联模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086118/

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