0

我有一个具有这样结构的基本数据库。

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 中工作。(我知道,别告诉我)。

4

2 回答 2

1

如果您检查Rails 2 分支关联的可用选项belongs_to,您会发现这:primary_key不是其中之一。

在您的情况下,就像您在上一行中所做的那样简单地说明外键就足够了。

于 2013-10-14T19:52:43.880 回答
0

您的order模型没有称为serial. 您不需要指定它,然后它默认为id(您确实有)。

于 2013-10-14T19:57:57.573 回答