Rails belongs_to association(with:class_name)返回nil
我对Rails开发相对较新,而且我有一个小的关联问题。 我想命名一个与它所链接的模型不同的关联。
我有以下两种型号:
class User < ActiveRecord::Base has_many :events end class Event "User" # So we can call event.admin to retrieve the User who owns this Event end
我建立一个用户如下:
event = event.create! :title => "New Event" user = User.create! :username => "thinkswan" user.events << event user.save
当我跳进控制台时,我收到以下内容:
irb> user = User.find(1) irb> user.events => [#] irb> event = Event.find(1) irb> event.user_id => 1 irb> event.admin => nil
任何人都可以解释为什么admin
协会没有返回它指向的用户? 谢谢!
您需要同时指定:class_name
和:foreign_key
,例如:
belongs_to :admin, :class_name => "User", :foreign_key => "user_id"