Writer
has_manyというモデルがありbooks
ます。それぞれbook
has_many orders
。不要な削除を防ぐために、Book
モデルには before_destroy フック メソッドがあり、 PragProg Agile Web Dev (p.7)Order
で提案されているように、モデルで参照されていないことを確認します。
Book.rb
before_destroy: :ensure_not_referenced_by_any_order
def ensure_not_referenced_by_any_order
if orders.empty?
return true
else
return false
end
end
Writer モデルの before_destroy フック メソッドを作成して、Writer.books.each に注文が存在しないようにするにはどうすればよいですか? 以下を書き始めましたが、正確な書き方がわかりません。
Writer.rb
before_destroy: :ensure_books_not_referenced_by_any_order
def ensure_books_not_referenced_by_any_order
self.books.each do |book|
if book.orders.empty?
return true
else
return false
end
end
end
どうもありがとうございました!