如何仅为具有多态关联的一个模型指定验证?

时间:2017-03-22 09:10:19

标签: ruby-on-rails ruby ruby-on-rails-5 polymorphic-associations

我有一个多态模型List<BasketOrderLine> lst = new List<BasketOrderLine>(); // Add element to list if (lst.fDistinctProductType()) { // DO Something } ,可以与commandcover相关联。 这些是additional_return中的字段:

command

问题是:对于 create_table "commands", force: :cascade do |t| t.date "placement_date" t.date "estimated_delivery_date" t.string "commandable_type" t.integer "commandable_id" ... end ,我想验证cover,但不验证模型estimated_delivery_date。如何仅为一个模型指定验证?

additional_return

1 个答案:

答案 0 :(得分:1)

你可以这样做:

validates :estimated_delivery_date, presence: true, if: :date_required?

private
def date_required?
  commandable.is_a?(Cover)
end