【问题标题】:rails assocation naming with table `ProductShow` and table `Product`rails 关联命名与表“ProductShow”和表“Product”
【发布时间】:2010-11-08 03:24:33
【问题描述】:

我对关联表命名感到困惑(对于多对多关联)

现在我有一个名为 ProductShow 的模型(在 db 中它名为 product_shows)

还有另一个名为 Product 的模型(在 db 中它命名为 products)

现在我想在他们之间建立一个关联表

这种关系是

Product
   has_and_belongs_to_many :product_shows
ProductShow
   has_and_belongs_to_many :products

这个关联表的名称是什么?

还有什么方法或工具可以检查吗?

【问题讨论】:

  • 您需要明确说明您希望如何设置关联。您是否希望 product_show 有很多产品。你想让产品有很多product_shows吗?请明确说明:)
  • 一个产品有很多product_shows,一个product_show有很多产品

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

我通常更喜欢使用双向has_many 关联来实现这一点。

class Product
  has_many :product_product_shows
  has_many :product_shows, :through => :product_product_shows
end

# table product_product_shows
#   product_id
#   product_show_id

class ProductProductShow
  belongs_to :product_show
  belongs_to :product
end


class ProductShow
  has_many :product_product_shows
  has_many :products, :through => :product_product_shows
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多