Ruby on rails Rails-我需要为每个模型上的此列或列创建联接表吗?

Ruby on rails Rails-我需要为每个模型上的此列或列创建联接表吗?,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在构建一个应用程序,其中将有带预订的旅游。每次旅行将在不同的日子提供,每次预订将属于一天。我的问题是,我应该为我想使用它的每种车型(旅游和预订)创建一个“day”列,还是应该创建某种关联和/或联接表,如下所示 我只是不确定哪一个更合适。我的目标是为每次旅行添加一组天数,然后在预订页面上显示这些天数,并允许用户选择一天 型号 预订 旅游 天数 旅游天数(加入表) 关联 旅游有很多天的行程 旅游有很多天,通过::天\u旅游 一天有很多天的旅行 一天有很多:旅游,通过::天旅游 预订有一天我将使用

我正在构建一个应用程序,其中将有带预订的旅游。每次旅行将在不同的日子提供,每次预订将属于一天。我的问题是,我应该为我想使用它的每种车型(旅游和预订)创建一个“day”列,还是应该创建某种关联和/或联接表,如下所示

我只是不确定哪一个更合适。我的目标是为每次旅行添加一组天数,然后在预订页面上显示这些天数,并允许用户选择一天

型号
预订
旅游
天数
旅游天数(加入表)

关联
旅游有很多天的行程
旅游有很多天,通过::天\u旅游
一天有很多天的旅行
一天有很多:旅游,通过::天旅游

预订有一天

我将使用带有三个外键的预订表:用户id、旅游id和日期id

然后该表可以用作联接表

然后,您可以根据需要设置以下各项:

# User
  has_many :reservations
  has_many :tours, through: :reservations
  has_many :days, through: :reservations

# Tour
  has_many :reservations
  has_many :days, through: :reservations
  has_many :users, through: :reservations

# Day
  has_many :reservations
  has_many :users, through: :reservations
  has_many :tours, through: :reservations
另外,记住,每一个人都有很多或一个在一边,而另一边需要一个属于他的

# Reservation
  belongs_to :user
  belongs_to :tour
  belongs_to :day

至于has_和_-belien_-to_-many——设置起来通常比较简单,但它远不如has_-many:through灵活,特别是当您要连接两个以上的模型时。

使用这个:apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_和_-belien_-to_many@UriAgassi不,不,不。不要使用
has_和_belien_to_many
,使用has_many:through以获得更大的灵活性(来自Rails样式指南:)我继续创建了一个has_many:through关联。非常感谢。