查看有关关联的文档,我设法将我的类设置为使用has_many, :through
. 但是,我似乎找不到任何关于如何实际使用该关联的示例。
我的User
模型has_many :attendees
和has_many :events, through: :attendees
. 我的Event
模型has_many :attendees
和has_many :users, through: :attendees
.
参会型号:
class Attendee < ActiveRecord::Base
attr_accessible :status
validates_inclusion_of :status, in: [:performing, :invited, :going, :maybe]
belongs_to :user
belongs_to :event
def status
read_attribute(:status).to_sym
end
def status=(value)
write_attribute(:status, value.to_s)
end
end
我尝试使用以下代码:
at1 = Attendee.new(user: u1, event: e1)
at1.status = :invited
at1.save
不出所料,我得到一个质量分配错误user
and event
。似乎除了声明的attr_accesible
意义user
之外event
。我将如何在这里使用关联,并设置自定义status
属性?