可以在Rails中为belongs_to关联添加别名吗?

2024-03-08

我有一个模型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(使用前将#替换为@)

可以在Rails中为belongs_to关联添加别名吗? 的相关文章

随机推荐