ruby-on-rails - 在关联情况下覆盖铁轨中的铲子方法
问题描述
根据has_many 文档,“铲子”方法collection<<(object, …)
通过将对象的外键设置为集合的主键,将一个或多个对象添加到集合中。请注意,此操作会立即触发更新 SQL,而无需等待父对象上的保存或更新调用,除非父对象是新记录。
如果您想构建一个新记录而不将其保存到数据库中,请使用collection.build
.
返回集合类型的一个或多个新对象,这些对象已使用属性实例化并通过外键链接到此对象,但尚未保存。
使用 Club 和 Member 作为示例模型:
club = Club.find(params[:id])
club.members.build(member_attributes) # member is not saved
club.save # saves club and members
但是如果
我想<<
用来创建关联,根本不触发 SQL。<<
当父对象是新记录时,如何覆盖以使其行为类似于场景?
解决方案
推荐阅读
- python - 在 VSCode 变量资源管理器中查看数据需要 pandas
- php - 如何修复 laravel 中的“InvalidArgumentException:indexSize 最多为 5”错误
- css - 如何使外边距是柱状网格中装订线大小的两倍?
- output - 如何将输出保存在 cplex 的特定文件夹中?
- c++ - 我的变量正在相互混合值???? C++
- c# - .net 核心中的 Jquery DataTables 服务器端
- python - 为什么Python中无递归的中序树遍历无限运行?
- tfs - TFS - 如何在同一个工作区中使用多台计算机而不需要每天检查我的代码
- python - 如何使用 BeautifulSoup 循环抓取多个网页上的多个文档?
- logstash - logstash prune 插件导致 json 变成文本(/ruby 对象)