0

看似简单,但有一个问题:

model A
belong_to :B

model B
has_many :A

database tables:
table A:
id,...,b_id

table B:
id,...

当试图创建一个新的 A 时,我通过执行以下操作设置(一个现有的)B:ab = B

我收到一条错误消息,提示“b 不能为空白”

4

3 回答 3

0

不要做 ab = B,而是做 a.b_id = B.id。

于 2011-01-26T16:31:00.263 回答
0

想想你的收藏和亲子关系是如何运作的。您可以按照建议将相关 B 的 ID 添加到您的 A 中,但您也可以选择 B.a[] = a将“a”添加到对象“B”的“a”集合中。这样,关系以更直观的方式建立,面向父对象而不是子对象。

于 2011-01-26T16:37:11.727 回答
0

你也应该能够做到newA = B.as.build('as' 是 a 的复数形式)。

当然,您的“A、a、B 和 b”示例非常令人困惑!将来使用“客户”和“订单”或“博客”和“帖子”或任何没有意义的神秘字母。

于 2011-01-26T17:52:12.140 回答