J'essaie d'implémenter before_destroy sur un modèle. Pendant que je suis ce before_destroy example je reçois soit une erreur NameError ou finis avec quelque chose qui ne fait pas le before_destroy. Quel est le problème avec ma syntaxe?Ruby on Rails before_destroy provoquant NameError
class Person < ActiveRecord::Base
has_many :book_loans, :order => 'return_date desc'
has_many :books, :through => :book_loans
before_destroy
errors.add_to_base "Cannot delete borrower with loans" unless
book_loans.count == 0
end
Est-ce que ne compilera pas
before_destroy
errors.add_to_base "Cannot delete borrower with loans" unless
book_loans.count == 0
ne fonctionne pas
def before_destroy
errors.add_to_base "Cannot delete borrower with loans" unless
book_loans.count == 0
end
Alors comment éviter la destruction d'une personne qui a des prêts? – ahsteele
Je vais mettre à jour la réponse, sec :) –
Sweet donc cela va générer une erreur. Considérant que des exceptions ne devraient se produire que dans des circonstances exceptionnelles, serais-je mieux d'empêcher que le lien de destruction n'apparaisse même lorsque l'utilisateur a des prêts? – ahsteele