我参与一个项目。参与者想参加一个研讨会。从管理网站我可以管理。
研讨会与参与者之间的关系
class Participant < ActiveRecord::Base
has_and_belongs_to_many :seminars
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable
end
正如我们所看到的,我使用了设计电子邮件发送,它也正常工作。现在我希望参与者能够参加研讨会。 任何人都可以请我如何做到这一点。我搜索了很多关于这个问题,无法找到。我是新手在轨道上
答案 0 :(得分:0)
由于您上面的参与者和研讨会的信息有多对多的关系,您可以在下面添加字段作为信息
class Participant < ActiveRecord::Base
# -> participant_seminars -> seminars
has_many :participant_seminars, :dependent => :destroy
accepts_nested_attributes_for :participant_seminars, :allow_destroy => :true
has_many :seminars, through: :participant_seminars
end
class Seminar < ActiveRecord::Base
# -> participant_seminars -> participants
has_many :participant_seminars, :dependent => :destroy
accepts_nested_attributes_for :participant_seminars, :allow_destroy => :true
has_many :participants, through: :participant_seminars
end
class ParticipantSeminar < ActiveRecord::Base
belongs_to :participant
belongs_to :seminar
end
# your schema probably look like this
create_table "participant_seminars", force: :cascade do |t|
t.integer "participant_id"
t.integer "seminar_id"
t.string "user_part"
end
您可以在ParticipantSeminar中使用表格并在此表格中添加字段 例如user_part作为字符串,因此每个参与者通过研讨会与user_part ...
连接for current_participants for a seminar
在研讨会模型(seminar.rb)
def current_participants
self.participants
end
这将为您提供一个研讨会的所有参与者成员(请参阅以下控制器中的示例
@seminar = Seminar.first
@participants = @seminar.current_participants