Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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更新多对多关系_Ruby On Rails_Ruby_Activerecord_Many To Many - Fatal编程技术网

Ruby on rails 使用Rails更新多对多关系

Ruby on rails 使用Rails更新多对多关系,ruby-on-rails,ruby,activerecord,many-to-many,Ruby On Rails,Ruby,Activerecord,Many To Many,我很好奇是否有可能更新连接表中的一组记录,这些记录没有作为模型注册到ActiveRecord中 我有两个类,比如说A和B,由表ASB连接。 我需要的是更新A-B关系,使用该参数散列或基于其内容的其他自定义散列。 最终我需要这个简单的例子来创建一个 A_id | B_id 1 | 1 在my:AsBs表中记录并删除1-2和1-3条记录(如果有) 显然,我可以创建一个AsBs模型并手动编辑它,但我希望使用 类似于@a.Bs或@a.B_id的update/update_all/update

我很好奇是否有可能更新连接表中的一组记录,这些记录没有作为模型注册到ActiveRecord中

我有两个类,比如说A和B,由表ASB连接。

我需要的是更新A-B关系,使用该参数散列或基于其内容的其他自定义散列。 最终我需要这个简单的例子来创建一个

A_id | B_id
  1  |  1
在my:AsBs表中记录并删除1-2和1-3条记录(如果有)

显然,我可以创建一个AsBs模型并手动编辑它,但我希望使用 类似于@a.Bs或@a.B_id的update/update_all/update_属性


有什么建议吗?

如果我理解正确,你应该可以这样做

@b.as = [@a]
@b.save

如果我理解正确,你应该能够做到

@b.as = [@a]
@b.save

看起来你骑了很多铁轨。除非你有一个非常令人信服的理由这样做,否则最好坚持传统。在没有充分理由的情况下添加异常会使您的应用程序更难维护。回顾半年前,我想知道如何通过如此复杂的方式实现如此简单的方法。看起来您超越了许多Rails默认设置。除非你有一个非常令人信服的理由这样做,否则最好坚持传统。在没有充分理由的情况下添加异常会使您的应用程序更难维护。回顾半年前,我想知道如何通过如此复杂的方式实现如此简单的方法。
@b.as = [@a]
@b.save