我有一个基本数据库,其结构如下。
products
------------------
id
serial
order
------------------
id
product_serial
不幸的是,我无法改变数据库的结构。我查看了Rails 2.1的文档,它说我可以建立这样的关系。
belongs_to :product,
:class_name => 'Product',
:foreign_key => 'product_serial',
:primary_key => 'serial'
然而,这给了我这个错误。
Unknown key: primary_key
没有主键就会产生这个SQL
SELECT * FROM `products` WHERE (`products`.`id` = #{serial})
如何在此设置belongs_to
关系?
编辑为了记录,我正在使用Rails 2.1。 (我知道,不要告诉我)。
答案 0 :(得分:1)
如果您检查Rails 2分支的available options for the belongs_to
association,您会发现:primary_key
不是其中之一。
在您的情况下,只需像上一行中那样简单地声明外键即可。
答案 1 :(得分:0)
您的order
模型没有名为serial
的字段(以及方法)。您不需要指定它,然后它默认为id
(您确实拥有)。