Rails: erreur constante non initialisée sur Active Record destroy
Je rencontre un problème lorsque vous essayez de détruire un actif instance de l'enregistrement.
Il comprend les étapes suivantes AR
class Client < ActiveRecord::Base
has_many :phone_numbers, :dependent => :destroy
has_many :email_addresses, :dependent => :destroy
has_many :user_clients , :dependent => :destroy
has_many :users, :through => :user_clients
end
class UserClient < ActiveRecord::Base
belongs_to :user
belongs_to :client , :dependent => :destroy
has_many :instructions, :dependent => :destroy
end
Lors de l'exécution d'un dommage sur une instance de Client je me donne l'erreur suivante
@dead_man = Client.find(params[:id])
@dead_man.destroy => uninitialized constant UserClient::Instruction
Je ne suis pas vraiment sûr où cette erreur provient de. Toute aide est grandement appréciée!
source d'informationauteur stellard
Vous devez vous connecter pour publier un commentaire.
Il n'est pas de trouver votre modèle d'Instruction. Assurez-vous qu'il est dans le répertoire des modèles, bien nommé, s'étend
ActiveRecord::Base
etc.Aussi, vous devez supprimer le
:dependent => :destroy
de labelongs_to :client
ligne dans le UserClient modèle, sauf si vous voulez vraiment suppression d'un user_client pour résultat la suppression de la client. Il semble que ça devrait être l'inverse, et c'est déjà mis en place dans le modèle Client.Également vérifier que le nom de fichier correspond au nom de la classe. Dans mon cas, j'ai eu
dans
et les Rails gardé de lancer le "uninitialized constant d'erreur" jusqu'à ce que je l'ai changé pour