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