Ruby on rails 3 将模板呈现到数据库

Ruby on rails 3 将模板呈现到数据库,ruby-on-rails-3,redirect,erb,Ruby On Rails 3,Redirect,Erb,我正在努力完成一项任务,但还没有找到任何人解决这个问题 我创建了一个奖项提名系统 无用户提交提名 管理员用户从模板生成合并信函并编辑信函 字母文本保存到数据库中,以便以后生成PDF 我了解到,您可以将ERB文本渲染为变量。这是伟大的工作,但然后我被困在文本,因为双重渲染错误 def generate_letter @submission = Submission.find(params[:id]) @submission.letter_text = render (:text, :layout

我正在努力完成一项任务,但还没有找到任何人解决这个问题

我创建了一个奖项提名系统

无用户提交提名 管理员用户从模板生成合并信函并编辑信函 字母文本保存到数据库中,以便以后生成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似乎是一种很好的处理方法。

您需要使用。这条线

@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 )