ruby-on-rails - 如何在不保存的情况下从 ActiveRecord 对象中删除一些关联

标签 ruby-on-rails ruby activerecord

所以我有:

@project = Project.last
@project.tasks = @project.tasks.reject{|o| o.stupid? }

# Do more stuff

当我更新任务数组时,它实际上保存了我们不需要的内容。

我们如何防止这种情况发生?

最佳答案

当您将结果重新分配给 @project.tasks 时发生保存

只是不要重新赋值,使用reject!改变原来的@project.tasks:

@project = Project.last
@project.tasks.reject!{ |o| o.stupid? }

关于ruby-on-rails - 如何在不保存的情况下从 ActiveRecord 对象中删除一些关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22927284/

相关文章:

jquery - Rails 3.1 和 ajax 创建的表单不提交

ruby - 如何在 Ruby 中读取打开的文件

ruby-on-rails - 在 rails/activerecord 中准备好的语句

ruby-on-rails - Preload has_many 与动态条件的关联

ruby-on-rails - rails "undefined method for ActiveRecord_Associations_CollectionProxy"

ruby-on-rails - RubyMine 8 开发不工作。一直说在 SDK 中找不到 Rails

javascript - 如何有效地使用 Jasmine 来测试通过 Jammit 打包的 javascript Assets ?

ruby-on-rails - 在 Rails 应用程序中创建 html 标签包装器

ruby-on-rails - 优化读取数据库和写入csv文件

php - 正面回顾与匹配重置 (\K) 正则表达式功能