看似简单,但有一个问题:
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 不能为空白”
看似简单,但有一个问题:
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 不能为空白”
不要做 ab = B,而是做 a.b_id = B.id。
想想你的收藏和亲子关系是如何运作的。您可以按照建议将相关 B 的 ID 添加到您的 A 中,但您也可以选择 B.a[] = a
将“a”添加到对象“B”的“a”集合中。这样,关系以更直观的方式建立,面向父对象而不是子对象。
你也应该能够做到newA = B.as.build
('as' 是 a 的复数形式)。
当然,您的“A、a、B 和 b”示例非常令人困惑!将来使用“客户”和“订单”或“博客”和“帖子”或任何没有意义的神秘字母。