2010-11-18 3 views
2

Если в Rails 3 существует ассоциация «один ко многим» и принимается вложенные атрибуты с удалением, можно ли узнать, просмотрев объекты (связанный объект), будет ли он удален или нет?Возможно ли узнать, когда связанный объект будет уничтожен?

Например:

group.attributes = {:member_attributes => {"0" => {:id => 1, :name => "John"}, 
              "1" => {:id => 2, :name => "Dave"}, 
              "2" => {:id => 3, :name => "Gus", "_destroy" => true}}} 

Можно ли, глядя на group.members знать, что один с идентификатором 3 собирается быть удалены сохранить?

ответ

5

Есть метод обнаружения этого, называемый mark_for_destruction?

group.members.each do |member| 
    puts "#{member.name} => #{member.marked_for_destruction?}" 
end 

будет генерировать

John false 
Dave false 
Gus true 
Смежные вопросы