私はユーザーが多くのイベントを作成できるこのアプリで作業しています。多くのユーザは、これらのイベントに招待することができ、したがって、私は次のモデルがあります:RoR:アクセス:属性を介して
ユーザー:
class User < ActiveRecord::Base
...
has_many :events, dependent: :destroy
end
イベント:
class Event < ActiveRecord::Base
belongs_to :user
has_many :event_guest
has_many :guests, :through => :event_guest, :source => :user
end
Event_Guest:私は何
class EventGuest < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
ゲストユーザをイベントにアクセス(追加)することができます。そのために、私はすべてのバリエーションを試しました
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: event_guests.event_id: SELECT "users".* FROM "users" INNER JOIN "event_guests" ON "users"."id" = "event_guests"."user_id" WHERE "event_guests"."event_id" = ? AND "users"."event_id" = 1
マイevent_guest移行は以下の通りであった::= self.table_nameを追加
create_table :event_guest do |t|
t.belongs_to :user, index: true
t.belongs_to :event, index: true
end
あなたの投稿を編集して、あなたの 'event_guest'の移行を見せてください。あなたはそれにIDを追加していないように見えます。 –
@ryank既に追加されました –
私はActiveRecordを使ってからしばらくしていますが、 'has_many:event_guests'のように' has_many:event_guest'が複数であるべきではないでしょうか? –