Я использую рельсы 4.1.5 и ruby 2.1.2.state_machine update еще одна модель
У меня есть две модели: event
и record
Довольно стандартной ассоциации: event has_many records
и record belongs_to event
.
Оба event
и record
имеют конечный автомат. Я использую state_machine
камень (https://github.com/pluginaweek/state_machine)
Я пытаюсь выяснить способ, что, когда event
отменяется, что он обновляет все records
связаны и устанавливает их отменили тоже.
Я достиг этого с помощью контроллера, но я стараюсь, чтобы подписаться на тонкие взгляды, глупый контроллер, жир модели подхода, и я стараюсь, чтобы убедиться, что ничего не скользит через трещину ...
Вот извлечь из моей event
модели:
state_machine :initial => :open do
# event to handle cancelling
# This is a final state
event :cancel do
transition :open => :cancelled
self.records.each do |record|
record.cancel
end
end
end
Очевидно, что есть много других переходов и т.д., но я конденсируется его для простоты ...
Я получаю ошибку от Rails является:
undefined method `records' for #<StateMachine::Event:0x007f58bada9750>
Так что я предполагаю, что когда я помещаю self.records.each
, он делает self = state machine?
Можно ли обойти это без использования наблюдателей?
Любая помощь оценена! Благодаря!
dang. удар? : ^) – patrick