Ruby on rails 什么';我的Rails 3多对多关联有什么问题?
我不知道我在这里做错了什么。我似乎无法获得与“has_many:creators”行相关的事件类的正确性…我创建了一个rspec测试来验证事件实例化是否会响应“creators”,但我无法让它通过…任何想法Ruby on rails 什么';我的Rails 3多对多关联有什么问题?,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我不知道我在这里做错了什么。我似乎无法获得与“has_many:creators”行相关的事件类的正确性…我创建了一个rspec测试来验证事件实例化是否会响应“creators”,但我无法让它通过…任何想法 class Event < ActiveRecord::Base has_many :event_invitations has_many :creators, :through => :event_invitations, :s
class Event < ActiveRecord::Base
has_many :event_invitations
has_many :creators, :through => :event_invitations,
:source => :creator,
:class_name => "User"
class EventInvitation < ActiveRecord::Base
belongs_to :user
belongs_to :event
class User < ActiveRecord::Base
has_many :event_invitations, :foreign_key => :creator_id
has_many :created_events, :through => :event_invitations,
:source => :event
class事件:活动邀请,
:source=>:创建者,
:class_name=>“用户”
类EventInvitation:创建者id
已经创建了很多活动,:通过=>:活动邀请,
:source=>:事件
事件邀请属于“用户”,但您正在存储“创建者id”。您需要存储“用户id”,或调用关联“创建者”
belongs_to :creator, :class_name => 'User'
在您的事件模型中,您可以使用:
has_many :creators, :through => :event_invitations
事件
类不应响应创建者
创建者
是一个实例方法,只有事件
实例才会响应它,例如事件。首先,创建者
。很抱歉,你完全正确。我无法让任何事件对象响应“创建者”(即\@fun=Event.new…@fun.creators正在抛出这个exeption)谢谢!!你搞定了它,并在这个过程中教会了我一些关于Rails和ActiveRecord的知识。了解是成功的一半。