Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 多态性的差异和有一个,属于_Ruby On Rails_Ruby On Rails 4_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 多态性的差异和有一个,属于

Ruby on rails 多态性的差异和有一个,属于,ruby-on-rails,ruby-on-rails-4,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 4,Ruby On Rails 3.2,我们有一个名为“人”的模型,它有以下列、名称、密码和行为。我们还有另外三个模型,即管理员、接收者和捐赠者,它们的领域根据人类行为的不同而不同。现在我想知道我是应该使用多态关联,还是“一个属于”关联?你的问题有点不清楚,但这里有一个通用指南: 1) 如果它属于多个其他模型,那么它应该是多态的 2) 如果它只属于另一个模型,那么它应该属于另一个模型 3) 如果您不确定您的关联的未来结构,那么多态性是一个很好的选择,因为它可以适合几乎任何结构,并且很容易撤销 如果您需要任何澄清,请告诉我。在回答此问题

我们有一个名为“人”的模型,它有以下列、名称、密码和行为。我们还有另外三个模型,即管理员、接收者和捐赠者,它们的领域根据人类行为的不同而不同。现在我想知道我是应该使用多态关联,还是“一个属于”关联?

你的问题有点不清楚,但这里有一个通用指南:

1) 如果它属于多个其他模型,那么它应该是多态的

2) 如果它只属于另一个模型,那么它应该属于另一个模型

3) 如果您不确定您的关联的未来结构,那么多态性是一个很好的选择,因为它可以适合几乎任何结构,并且很容易撤销


如果您需要任何澄清,请告诉我。

在回答此问题之前,我们需要了解多态关联,并首先确定一个属于关联

多态关联:当我们需要建立一个模型与多个模型关联的关联时,我们需要使用多态关联。引用rails指南中的示例

    class Picture < ActiveRecord::Base
      belongs_to :imageable, polymorphic: true
    end

    class Employee < ActiveRecord::Base
      has_many :pictures, as: :imageable
    end

    class Product < ActiveRecord::Base
      has_many :pictures, as: :imageable
    end
类图片
然而,当模型之间只有一对一的关系,并且没有从一个模型关联到第二个模型的关联,以及第一个模型和第三个模型之间的关联时,我们可以选择属于多个关联。希望这能澄清。如果需要更多的澄清,请告诉我


视情况而定。一个用户可以有许多管理员、接收者和捐赠者吗?管理员、接收者和捐赠者是否属于多个用户?管理员、接收者和捐赠者是否属于用户以外的其他模型?