1

タスクをラップしようとしていますが、この問題に対処している人は見つかりませんでした。

私は賞のノミネートシステムを作成しました。

  1. アノンユーザーが推薦を提出
  2. 管理者ユーザーは、テンプレートからマージされたレターを生成し、レターを編集します
  3. 文字のテキストは後でPDFを生成するためにデータベースに保存されます

ERBテキストを変数にレンダリングできることを読みました。これはうまく機能していますが、ダブルレンダリングエラーのためにテキストが表示されません。

def generate_letter
@submission = Submission.find(params[:id])
@submission.letter_text = render (:text, :layout => false, :template => 'submissions/generate_letter') and return
@submission.save  
redirect_to @submission
end

データベース用にこのテキストを生成するためのより良い方法、またはリダイレクトの回避策はありますか?マージテンプレートをコードに保持しないようにしようとしていましたが、ERBはそれを処理するための優れた方法のようです。

4

1 に答える 1

0

を使用する必要がありますrender_to_string。この行

@submission.letter_text = render (:text, :layout => false, :template => 'submissions/generate_letter') and return

する必要があります

@submission.letter_text = render_to_string( template: 'submissions/generate_letter.text.erb', layout: false )
于 2012-10-01T23:52:27.817 に答える