【问题标题】:Maniging relations in rails管理 Rails 中的关系
【发布时间】:2015-09-27 01:37:07
【问题描述】:

我正在开发一个应用程序,我必须创建一个模型 product,它有许多 pictures 和一个主要的 picture。我想通过关系来模拟这种情况,而不是使用额外的布尔字段来判断一张图片是否是主图片。我认为解决方案是在product 中使用has_onehas_many 关系,它们都链接到picture,但我不知道该怎么做。

【问题讨论】:

    标签: ruby-on-rails database-relations


    【解决方案1】:

    您将需要一些方法来区分您的“主要”图片与其他图片。这可以通过多种方式完成:

    一个单独的数据库表,例如,main_pictures

    class Product
        has_many :pictures
        has_one :main_picture
    end
    

    Picture 上的一些其他属性。这可以是布尔值或其他字段。在下面的示例中,我们将在 pictures 表上使用名为 primary 的布尔属性。

    class Product
        has_many :pictures
        has_one :main_picture, -> { where(primary: true) }
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      相关资源
      最近更新 更多