Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:更新两个表之间的id关系_Ruby On Rails_Rails Activerecord - Fatal编程技术网

Ruby on rails Rails:更新两个表之间的id关系

Ruby on rails Rails:更新两个表之间的id关系,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我有4张桌子: A has many B B belong_to A C has many D D belong_to C A has_one C B has one D 发件人: 编辑,插入到B row 1 row 2 模型 控制器 obj = A.build_width_invoice(hash1, hash2) obj.save save to A, B C, D ok 每个id关系都已填充,但id_D int表B没有值 数据B和D是相同的 如何插入它?您

我有4张桌子:

A has many B
B belong_to A

C has many D
D belong_to C

A has_one C
B has one D
发件人: 编辑,插入到B

row 1 
row 2
模型

控制器

obj = A.build_width_invoice(hash1, hash2)
obj.save

save to A, B
        C, D   ok
每个id关系都已填充,但id_D int表B没有值

数据B和D是相同的


如何插入它?

您是否有
C属于A
并且
D也属于B
呢?没有C和A,D和B不相关这可能是您的问题。每个
都有一个
关系必须有对应关系。同样的事情也发生在has _many
上。你想谈谈吗:doc=A.new(hash)doc.b.each | item | doc.b.build_d(item)end是这样吗?你提到你有一个
A has _onec
关联。如果是这种情况,那么您还需要让
C属于A
obj = A.build_width_invoice(hash1, hash2)
obj.save

save to A, B
        C, D   ok