ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

标签 ruby activerecord ruby-on-rails-4

在 Rails 3 中,可以做类似 some_post.comments.append(some_comment) 的事情其中一些帖子是“有很多”评论的模型实例。

我在 Rails 4 中面临的问题是 append方法现在保存到数据库(如 push<< ),我只需要“附加”而不将附加的对象保存到数据库。

我们如何在 Rails 4 中实现这一点?我不能使用 some_post.comments.build(some_comment.attributes)因为我需要保留 some_comment 中已经存在的其他关系实例。

最佳答案

在 Rails 中优雅地做到这一点非常困难。这是我发现的最干净的方法:

post.association(:comments).add_to_target(comment)

关于ruby - 导轨 4 : Append to a "has_many" relation without saving to DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21189279/

相关文章:

javascript - 预编译 Assets 失败。推送被拒绝,无法编译 Ruby 应用程序

javascript - ajax closest 在 ruby​​ on rails 中不受影响

ruby-on-rails-4 - 如何在 rails 4 中启用 Sass 的 Source Maps?

ruby-on-rails - 从 Rails 6 应用程序中完全删除/assets 目录

ruby-on-rails-3 - Ruby on Rails : Select from database where column equals a value from array

javascript - Rails 帮助从底部更快地加载 javascript

php - 通过过滤器从多个数据库中选择

ruby-on-rails - 在 Active Record 迁移中可逆和还原

jQuery 获取针对 Sinatra 的请求未获取文本

ruby-on-rails - 在 Rails 3.2 中使用 "error_messages"? (引发 "undefined method"错误)