我有一个我认为很简单的结构:
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 中的用户)。
更新:我仍然无法让用户和 GroupEvent 看到对方。GroupEvent.new 和 EventVenue.new 创建新对象,并且
@event = GroupEvent.new
@venue = @event.build_event_venue
应该创建一个 @event.event_venue 对象。(虽然我仍然很困惑
@event.event_venue.build
返回 NoMethodError: undefined method `build' for nil:NilClass。)