建立一个实例我有什么,我认为是一种结构简单:通过的has_many
class GroupEvent < ActiveRecord::Base
attr_accessible :user_id, :title, :description, :identifier, :start_date, :end_date, :time_zone, :url, :capacity, :info_url, :logo_url, :logo_ssl_url, :status
has_one :event_venue
has_one :event_organizer
has_one :event_ticket
has_one :event_condition
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :email, :name, :password, :password_confirmation
has_secure_password
has_many :group_events
...
end
但是当我执行了Rails控制台
@user = User.new
@event = @user.group_events.build
我得到一个错误:的ActiveRecord :: InverseOfAssociationNotFoundError:无法找到group_events(:GroupEvent中的user)的反向关联。
更新:我仍然无法让用户和GroupEvent看到对方。 GroupEvent.new和EventVenue.new创建新的对象,并
@event = GroupEvent.new
@venue = @event.build_event_venue
创建@ event.event_venue对象,因为它应该。 (虽然我仍然困惑的是
@event.event_venue.build
返回NoMethodError:未定义的方法`建设”为无:NilClass)
“@ user.build_group_event”呢? –
我收到“无方法错误”。它似乎并没有在两者之间绘制任何类型的关联。即使@ user.group_events.nil?返回相同的反向关联错误。 @ event = GroupEvent.new成功创建一个事件。 感谢您的及时回复@KyleDecot。这是我第一次问Stack,我错过了看到评论。 – webmktr