2014-01-17 73 views
25

在Rails 3中,可以執行諸如some_post.comments.append(some_comment)之類的操作,其中某些帖子是has_many註釋的模型實例。Rails 4:追加到「has_many」關係而不保存到DB

我在Rails 4中遇到的問題是append方法現在保存到DB(如push<<),我只需「追加」而不將附加對象保存到數據庫。

我們如何在Rails 4中實現這一目標?我不能使用some_post.comments.build(some_comment.attributes),因爲我需要保留some_comment實例中已存在的其他關係。

+0

,所以你要避免持續的新的評論,對嗎? – amenadiel

回答

1

你可以這樣做:

class Post < ActiveRecord::Base 

    has_many: comments, autosave: false 

    ... 
end 

然後< <只會追加,而不是保存。

+1

這在行爲上沒有任何改變。 –

35

在Rails中做這件事很奇怪。這是我發現的最徹底的方法:你的意思是,你需要附加註釋,然後父對象上執行一些操作

post.association(:comments).add_to_target(comment) 
相關問題