Rails:尝试创建从两个表到一个表的has_many关系

时间:2011-01-21 06:33:21

标签: ruby-on-rails activerecord

我有两个带相关表格的模型(villa_rooms& homes)。两者都有与之相关的费率。我想只使用一个“费率”模型和相关的表来存储别墅和房屋的价格。

我为villa_rooms创建了以下内容,但未找到相关费率:

class VillaRoom < ActiveRecord::Base
  has_many :villa_room_rates
  has_many :rates, :through => :villa_room_rates
end

class VillaRoomRates < ActiveRecord::Base
  belongs_to :villa_room
  belongs_to :rate
end

class Rate < ActiveRecord::Base
  has_one :villa_room_rate
  has_one :villa_room, :through => :villa_room_rates
end

当我尝试运行VillaRoom.find(1).rates时出现以下错误

NameError: uninitialized constant VillaRoom::VillaRoomRate

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你的班级VillaRoomRates是拼写错误,请尝试使用单数。

如果您想要Rails的默认行为,那么您的所有模型名称都应该是单数。 但是这些表格将使用多个名称创建。