登录用户如何参加研讨会

时间:2017-10-07 14:42:53

标签: ruby-on-rails

我参与一个项目。参与者想参加一个研讨会。从管理网站我可以管理。

研讨会与参与者之间的关系

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

正如我们所看到的,我使用了设计电子邮件发送,它也正常工作。现在我希望参与者能够参加研讨会。 任何人都可以请我如何做到这一点。我搜索了很多关于这个问题,无法找到。我是新手在轨道上

1 个答案:

答案 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 ...

连接

编辑2

for current_participants for a seminar

在研讨会模型(seminar.rb)

def current_participants
  self.participants
end

这将为您提供一个研讨会的所有参与者成员(请参阅以下控制器中的示例

@seminar = Seminar.first
@participants = @seminar.current_participants