ruby-on-rails – 可能在Rails中对belongs_to关联进行别名?

我有一个模型与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_method:company,:vendor和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_attribute :company, :vendor

转载注明原文:ruby-on-rails – 可能在Rails中对belongs_to关联进行别名? - 代码日志