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 de belongs_to moyens.. l'exemple de la docs n'était pas assez clair
InformationsquelleAutor Graham Swan | 2011-06-09