我是Rails框架中的新手。我创建了表格:
DealerGroups Dealer
------------ ------------
Id:integer(primary key) Id:integer(primary key)
name:string dealer_group_id:integer(foreign key)
但是当我尝试设置Dealer.dealer_group_id = value
(此值存在于DealerGroups表中)时,我得到一个“未初始化的常量经销商:: DealerGroup”例外。
在模特中我有:
class Dealer < ActiveRecord::Base
belongs_to :dealer_buying_group, :foreign_key => "dealer_buying_group"
end
class DealersGroup < ActiveRecord::Base
has_many :dealer
end
如果我删除has_many
和belongs_to
关系,则一切正常。
为什么它不适用于关系?
答案 0 :(得分:1)
小心“s”(为什么你的“经销商”表不是“经销商”?) 您无需在Rails中手动设置外键,只需在生成脚手架/模型/控制器时为其定义Model_ID字段,然后 belongs_to 和 has_many 在模型中将为你做关系
<强>数据库:强>
DealerGroups Dealers
------------ ------------
Id:integer(primary key) Id:integer(primary key)
name:string dealergroup_id:integer
模型:
class Dealer < ActiveRecord::Base
belongs_to :dealergroup
end
class DealersGroup < ActiveRecord::Base
has_many :dealers
end
要从经销商处访问交易组的名称,只需使用
即可controller:
@dealer = Dealer.find_by_id(myInt)
view:
<%= @dealer.dealergroup.name %>
答案 1 :(得分:0)
您正在上课DealersGroup
,而您正在寻找dealer_group_id
。