41

次のことをしようとしています

@message = render_to_string ( :sender => sender, :template => "template" )          

しかし、テンプレートで @sender にアクセスすると、nil:NilClass であることがわかります。正しい変数を渡すかどうかを再確認しましたが、まったく問題ありません。render_to_string に変数を渡す方法が他にあるのではないでしょうか?

4

5 に答える 5

53

使用している構文である可能性があります。:locals次の引数を使用してみてください。

@m = render_to_string :template => "template", :locals => {:sender => sender}

次に、テンプレート内のローカル変数としてsender( なしで)アクセスする必要があります。@

于 2010-09-15T02:24:12.263 に答える
4

これを試して:

ac = ActionController::Base.new()  
ac.render_to_string(:partial => 'path to your partial',:locals => {:varable => your variables})
于 2015-06-25T08:19:11.123 に答える
2

render_to_string で別の形式のパーシャルをレンダリングしようとしていました。私にとって本当にうまくいったのは:

render_to_string(:partial => 'partial_file.html', :locals => {:変数 => 変数}, :format => :html)

ファイルの名前は_partial_file.html.erb.

于 2014-09-10T14:36:49.413 に答える