Rails中关联的多个名称

时间:2013-03-06 18:02:18

标签: ruby-on-rails-3 associations relationship model-associations plural

我有用户模型和汽车模型

我想要一个能够保存每辆车和每个用户的设置的模型

所以我做了

class CarSettings < ActiveRecord::Base

  belongs_to :user
  belongs_to :car
end

for user:

  has_many :car_settings

和汽车:

  has_many :car_settings
  has_many :users, :through => :car_settings

注意名称CarSettings,这不是一个错误,我希望它是设置而不是设置

当我这样做时

c=Car.first
c.users

我得到了

NameError: uninitialized constant Car::CarSetting
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.12/lib/active_record/inheritance.rb:111:in `compute_type'

它正在寻找一个单一的car_setting而不是car_settings。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您可以使用此选项强制关联上的类名称:

has_many :car_settings, :class_name => "CarSettings"