0

子オブジェクトを介して情報を更新していますが、親オブジェクトにデータを保存できないようです。状況は次のとおりです。

class NewsPage < Content
   content_fields :body

コンテンツには列呼び出しの本文があるため、次のようにできます。

newsPage1.body

page2 の本文を page1 にコピーしたい:

newsPage1.body << newsPage2.body

newsPage1.body を印刷すると、両方の本文がそこに表示されます..しかし、リクエストが完了すると、newsPage1.body は元の状態にリセットされます..それが発生したときにコンテンツのテーブルにアクセスしていないためだと思います.. . では、newsPage1 のコンテンツの本文をコンテンツのページ列に保存するにはどうすればよいでしょうか? 私が間違っている可能性があり、これは他の何かが原因である可能性があります..この男と同じ問題ですが、彼は答えを得ませんでした: @article.save は更新されたものではなく古いコンテンツを保存しているようです

以前にリンクした投稿からコードを追加するために編集しました:

  def my_method(other_id)
    self.rating << NewsPage.find(other_id).rating
    self.body << NewsPage.find(other_id).body
    return self   
  end

私のコントローラーでは、これは次のように定義されて呼び出されます。

  def copy 
    @newsPage = NewsPage.find(params[:id])
    @copiedNewsPage = @newsPage.my_method(params[other_id])

    redirect_to :action => 'main'   
  end

レーティングは正常にコピーされましたが、本文はコピーされませんでした。手がかりはありますか?

4

1 に答える 1

0

私はあなたの質問を理解するのに苦労しています.あなたが書いた数行のコードでは、あなたが何をしているのかを理解するのにも苦労しています.コードを増やして問題をもう少しうまく説明してみてください. . 他の誰かがあなたの問題を再現できない場合、その人はあなたを助けることができません。

しかし、これは質量属性の問題のように思えます。次のコードを試してください:

class NewsPage < Content
  attr_accessible :body
  content_fields :body

それが機能するかどうかを教えてください。どうも

于 2013-03-03T20:35:53.600 に答える