这是我第一次构建自定义验证,因为尝试常规 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
Run Code Online (Sandbox Code Playgroud)
是我试图选择的图像。