1
ShiftNote
  belongs_to :shift, counter_cache: true
  workflow do
    state :scheduled
    state :canceled
  end
Shift
  has_many :shift_notes

  scope :opened, lambda {
    locked
    .where("shift_notes_count < shifts.limit")
  }

如何在创建ShiftEntryshift_notes_count时不增加shift_note.state.canceled? => true

现在我shift_entries_count是只读的。

4

1 回答 1

0

您可以设置属于的条件,我认为这就是您所要求的:

belongs_to :shift, :counter_cache => lambda {|c| !c.state.canceled }
于 2013-10-21T16:31:46.667 回答