我们可以为同一对表创建多个连接表吗?

时间:2016-08-02 20:23:40

标签: ruby-on-rails has-and-belongs-to-many jointable

我有两张桌子:优惠和测试。

但我需要有三个连接表,例如offers_tests_1,offers_tests_2和offers_tests_3。这是因为商家要求商品可以有三种组合(包)测试。

我们可以在Rails中这样做吗?对于一个连接表,我可以使用视图中带有f.collection_select标记的模型中的has_and_belongs_to_many关联来执行此操作,其中:multiple =>真。

最糟糕的情况是,我可以使用相同的数据设置三个表tests_1,tests_2和tests_3。我想避免这种情况。

1 个答案:

答案 0 :(得分:0)

是的,你可以 在定义关系时,您可以在模型中执行此操作。像这样。

在型号Offer.rb

has_many :offers_tests_1
has_many :offers_tests_2
has_many :tests, through: :offers_tests_1
has_many :tests, through: :offers_test_2
模型Tests.rb

中的

has_many :offers_tests_1
has_many :offers_tests_2
has_many :offers, through: :offers_tests_1
has_many :offers, through: :offers_test_2

<强>享受