3 개의 사용자 : 사용자, 이벤트가 있습니다. 사용자 has_many는 events_staffs를 통해 이벤트를 처리하고 has_many는 events_staffs를 통해 이벤트를 처리합니다.레일 3 테이블이없는 연관
class Staff < ActiveRecord::Base
has_many :events_staffs
has_many :events, through: :events_staffs
end
class Event < ActiveRecord::Base
has_many :events_staffs, dependent: :destroy
has_many :staffs, through: :events_staffs
end
내가 이벤트가 저자와 저자 및 회원들이 직원 테이블의 기록 일부 회원을 가지고 바랍니다. 나는이 같은 콘솔 뭔가를 할 수 있으면 좋겠다 :
e=Event.first #ok it works
e.author=Staff.first
e.members=Staff.all - [Staff.first]
그것을 할 수 있습니까?
솔루션
#Event model
has_many :events_staffs, dependent: :destroy
has_many :members, through: :events_staffs, source: :staff #http://stackoverflow.com/a/4632456/1066183
#http://stackoverflow.com/a/13611537/1066183
belongs_to :author,class_name: 'Staff'
#migration:
class AddForeignKeyToEventsTable < ActiveRecord::Migration
def change
change_table :events do |t|
t.integer :author_id
end
end
end
예, 작성자, 회원 등의 관계를 설명했습니다. –