我正在用铁轨建造一个住宿预订网站,我对模型的一个方面感到困惑。因此,通常我了解构建它的方式是通过具有多个预订的Room模型,而Reservation模型属于Room模型。问题是这次我希望访客能够一次预订多个房间。会议室是否有许多预订协会适用于该用途?谁能帮助我找到一种构建方式,我是否必须使用一个可以形成多个记录的表格?我为自己的无知感到抱歉,这是我第一次将这样的概念落入我的手中。
非常感谢大家
答案 0 :(得分:3)
从本质上讲,您需要定义多对多关系,并且Rails有几个选择。
一个选择是has_and_belongs_to_many
关系,您可以在here上进行阅读。但是,我的首选方法是使用has_many, through: [model]
这样的方法:
class Room
has_many :room_reservations
has_many :reservations, through: :room_reservations
end
class Reservation
has_many :room_reservations
has_many :rooms, through: :room_reservations
end
class RoomReservation
belongs_to :room
belongs_to :reservation
end
基本上,您有一个中间表来创建多对多联接。