【问题标题】:Association between one model and an attribute of another一个模型与另一个模型的属性之间的关联
【发布时间】:2012-09-20 22:57:49
【问题描述】:

我正在尝试在一个模型 Cuts 和另一个模型 Animal 的“animal_type”属性之间为 beta 肉类销售应用程序创建关联,这样我就可以列出与特定 animal_type 关联的所有剪辑(或与具有该类型作为属性的动物相关联)。

换句话说,如果 animal_type 是“cow”,我应该能够调用与奶牛相关的所有切割(肋眼、里脊肉等)的列表。我是 Rails 的新手,这完全超出了我的想象。

我的想法是在 Cuts 和 Animals 中创建一个 animal_type 列,将每个剪辑与一种动物相关联,这样我就可以按照

@cuts = Cut.where(:animal_type => Animal::animal_type[:Cow])

不知道这是否可行,以及我还需要做什么才能使这种关联成为可能。任何人都可以帮我指出一种思考方式吗?或者有没有人有任何好的资源可以帮助我解决这个特定问题?我一直在查看 Rails 指南,它们很有帮助,但它们并没有真正给我一个回答这个问题的方法。

【问题讨论】:

    标签: ruby-on-rails-3 activerecord associations models


    【解决方案1】:

    你可以有一个 Cuts 模型和一个 Animal 模型。 Cuts 可以有一个名为“name”的字符串属性,它将存储切割类型,例如肋眼、里脊肉等。Animal 可以有一个名为 animal_type 的字符串属性。然后,您可以在 Animals 和 Cuts 之间设置 has_many 关联。像这样的:

    class Animal < ActiveRecord::Base
      attr_accessible :animal_type
      has_many :cuts
    end
    
    class Cuts < ActiveRecord::Base
      attr_accessible :name
      belongs_to :animals
    end
    

    这应该是一个好的开始

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多