Rails belongs_to association (avec :class_name) renvoie nil
Je suis relativement nouveau sur les Rails du développement et je suis un mineur associations problème. J'aimerais nom d'une association quelque chose de différent que le modèle c'est lié à l'.
J'ai les 2 modèles:
class User < ActiveRecord::Base
has_many :events
end
class Event < ActiveRecord::Base
belongs_to :admin, :class_name => "User" # So we can call event.admin to retrieve the User who owns this Event
end
- Je construire un Utilisateur comme suit:
event = event.create! :title => "New Event"
user = User.create! :username => "thinkswan"
user.events << event
user.save
Quand je saute dans la console j'ai le message suivant:
irb> user = User.find(1)
irb> user.events
=> [#<Event id: 1, title: "New Event", user_id: 1, created_at: "2011-06-09 06:41:09", updated_at: "2011-06-09 06:41:10">]
irb> event = Event.find(1)
irb> event.user_id
=> 1
irb> event.admin
=> nil
Quelqu'un peut-il expliquer pourquoi le admin
association n'est pas de retourner à l'Utilisateur qu'il pointe vers? Merci!
- +1 pour un bon exemple à votre question du grand homme.. j'ai enfin compris ce que le
:class_name
option debelongs_to
moyens.. l'exemple de la docs n'était pas assez clair
Vous devez vous connecter pour publier un commentaire.
Vous devez spécifier à la fois
:class_name
et:foreign_key
, par exemple: