私はレールで初心者です。私は2つのアクティブなレコードオブジェクトのコレクションをマージする方法について助けが必要でしたか?多くのコメントコレクションをレールにマージする方法は?
class Article < Content
has_many :comments
私はコメントで新しい記事を作成したいが、ソースのコメントから、合併や記事objects.Belowをターゲット
記事は、SOURCE_IDとTARGET_IDは二条のIDでいます。私はそれらからコメントを得て、それらをマージして新しい記事に追加したいと思います。
source_id = params[:id]
target_id = params[:merge_with]
@article = Article.get_or_build_article()
@article.allow_comments = true
article_source = Article.find(source_id)
article_target = Article.find(target_id)
#reassign all comments of first article
first_comments = article_source.comments
first_comments.each do |c|
c.article_id = @article.id
c.save
end
#reassign all comments of second article
second_comments = article_target.comments
second_comments.each do |d|
d.article_id = @article.id
d.save
end
@article.title = article_source.title
@article.body = article_source.body + " " + article_target.body
@article.author = article_source.author
@article.save
新しい記事が作成されていますが、コメントは表示されません。だから、リンクはどこかで壊れている。私は助けていただきありがとうございます!ありがとう!
を使うのか?あなたは保存されたオブジェクトまたはデータベースに保持されていない新しいオブジェクトを返していますか? – dnsh
ちょうど新しいオブジェクト。 – kofhearts