Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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_Polymorphic Associations - Fatal编程技术网

Ruby on rails 是否可能反向多态关联?

Ruby on rails 是否可能反向多态关联?,ruby-on-rails,polymorphic-associations,Ruby On Rails,Polymorphic Associations,我有四个模型:用户、产品、所有权和位置。产品通过所有权属于用户,用户通过所有权拥有许多产品。 当用户创建产品时,我希望如果用户有一个位置,那么该产品将链接到同一位置。所以我的问题是: 我们能否改变这一点: 类位置

我有四个模型:用户、产品、所有权和位置。产品通过所有权属于用户,用户通过所有权拥有许多产品。 当用户创建产品时,我希望如果用户有一个位置,那么该产品将链接到同一位置。所以我的问题是:

我们能否改变这一点:

类位置
为此:

类位置
产品.位置
委托给
产品.所有者.位置
如何

这可以在产品类中完成,如下所示(根据需要更改所有者/用户关系的标识符):

类产品

如果调用
product.location
,将返回所有者的位置。

如何将
product.location
委派给
product.owner.location

这可以在产品类中完成,如下所示(根据需要更改所有者/用户关系的标识符):

类产品

如果调用
product.location
,将返回所有者的位置。

您不能这样做:查询一次只能获取一个模型。然后当用户创建产品时,我必须复制用户的位置以将其与产品关联?从模型中提取位置几乎没有附加值,它的地狱查询等…是否有用户和产品之间的关系?当用户创建产品时,它们之间的关系如何,产品是否属于用户?产品通过所有权属于用户。您不能这样做:查询一次只能获取一个模型。然后当用户创建产品时,我必须复制用户的位置才能将其与产品关联?从模型中提取位置几乎没有附加值,查询等非常困难。用户和产品之间是否存在关系?当用户创建产品时,它们之间的关系如何,产品是否属于用户?产品通过所有权属于用户。确定,但当产品的位置与所有者的位置不同时?确定,但当产品的位置与所有者的位置不同时?
class Product < ActiveRecord::Base
  delegate :location, to: :owner
end