通过更新验证每个都有很多

时间:2017-05-18 15:46:42

标签: ruby-on-rails

我有以下型号:

class Parcel < ApplicationRecord
  belongs_to :user
  has_many :items
  has_many :custom_declarations, :through => :items

  accepts_nested_attributes_for :items


  validates :custom_declarations, :presence => true , :on => :update, :if => :parcel_requested

  def parcel_requested
    status_changed?(from: nil, to:'REQUESTED')
  end



class Item < ApplicationRecord
  belongs_to :user
  belongs_to :parcel, optional: true
  has_many :custom_declarations
  accepts_nested_attributes_for :custom_declarations,:reject_if => :all_blank 




class CustomDeclaration < ApplicationRecord
  belongs_to :item

我正在尝试确保此宗地中包含的每个项目都有自定义声明

因此,如果Parcel.items.first.custom_declarations.valid?返回true,则整个宗地变为有效,即使Parcel.items.second.custom_declarations没有值。

如果我直接检查一个项目/ items / 1 /会更容易,但我通过包裹查看has_many项目,并且每个项目都有自定义声明。

是否有内置的方式来实现这一目标?

0 个答案:

没有答案