Search code examples
ruby-on-railsrenderrender-to-string

How to pass variables to render_to_string?


Trying to do the following

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

But when accessing @sender in template it turns out to be nil:NilClass. Double checked if I pass the right variable and it's totally fine. Maybe there are other way to pass variables to render_to_string?


Solution

  • It might be the syntax you're using. Try using the :locals argument:

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

    Then you just need to access sender (without an @) as a local variable inside the template.