建立一個實例我有什麼,我認爲是一種結構簡單:通過的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