使用三个参数连接两个表的轨道

时间:2015-11-06 16:10:58

标签: ruby-on-rails psql

首先我要使用Psql,如果有帮助,可能无关紧要。

我有两个表,(他们的模型中间有has_many)

# models
RegUser(id, Email, Name)
Booking(id , Event_id, Reg_user_id)

我如何将这两者连接在一起,以便在查看事件40时,该事件的注册用户将显示,它基本上从通过的参数连接两个两个表(我相信!!!)

这是我过去工作过的代码

@reg_usr = RegUser.where(event_id: params[:id])

我们将event_id移动到另一个表并将其从reguser表中删除。

1 个答案:

答案 0 :(得分:1)

你应该有以下关系:

class Event < ActiveRecord::Base
  has_many :bookings
  has_many :reg_users, through: :bookings

class RegUser < ActiveRecord::Base
  has_many :bookings
  has_many :events, through: :bookings

class Booking < ActiveRecord::Base
  belongs_to :event
  belongs_to :reg_user

然后你可以做到:

@event = Event.find(params[:id])
@reg_users = @event.reg_users # returns the reg_users associated to the Event