我有一个模型belongs_to
协会:
class Car < ActiveRecord::Base
belongs_to :vendor
end
所以我可以打电话car.vendor
。但我也想打电话car.company
!所以,我有以下内容:
class Car < ActiveRecord::Base
belongs_to :vendor
def company
vendor
end
end
但这并不能解决分配情况car.company = 'ford'
,所以我需要为此创建另一种方法。有没有一个简单的alias
我可以使用关联机制吗?我可以只使用alias_method :company, :vendor
and alias_method :company=, :vendor=
?
不,它不会查找 company_id 例如更改您的代码如下
在 Rails3 中
class Car < ActiveRecord::Base
belongs_to :vendor
belongs_to :company, :class_name => :Vendor,:foreign_key => "vendor_id"
end
在 Rails4 中
我们可以使用alias属性。
alias_attribute :company, :vendor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)