我有两张桌子:优惠和测试。
但我需要有三个连接表,例如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。我想避免这种情况。
答案 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