Reputation: 171341
To render a partial in Rails 3 I do:
render 'my_partial', :my_object => my_value
To get partial's result as string I do:
render_to_string(:partial => 'my_partial', :layout => false,
:locals => {:my_object => my_value})
Is this possible to write the last one shorter ? (e.g. to omit :partial
or :locals
like I do with render
) (I tried, but get errors...)
Upvotes: 12
Views: 18404
Reputation: 10795
You can always add your own method to ApplicationController
and make it available as a helper method if you need to use it in views.
Upvotes: 0
Reputation: 3409
I would use a Mailer for that. And then do.
MyMailer.my_method.body.encoded. You can use helpers this way too.
Upvotes: -1
Reputation: 1853
Sometimes you could do something like
render_to_body "path_to_file"
and it skips layout but still you have to use instance variables inside your partial.
Upvotes: 2
Reputation: 3818
Doesn't seem like it could get any shorter, Ref. If you feel it's too long you could hide it in a helper method, and just pass the various params?
Upvotes: 9