Как упростить "render_to_string" в Rails 3?
Чтобы сделать частичное в Rails 3, я делаю:
render 'my_partial', :my_object => my_value
Чтобы получить частичный результат в виде строки, я делаю:
render_to_string(:partial => 'my_partial', :layout => false,
:locals => {:my_object => my_value})
Можно ли написать последний короче? (например, чтобы опустить :partial
или же :locals
как я делаю с render
) (Я пытался, но получаю ошибки...)
4 ответа
Не похоже, что оно может стать короче, Реф. Если вы чувствуете, что это слишком долго, вы можете скрыть это вспомогательным методом и просто передать различные параметры?
Иногда вы могли бы сделать что-то вроде
render_to_body "path_to_file"
и он пропускает макет, но вы все равно должны использовать переменные экземпляра внутри вашей частичной.
Вы всегда можете добавить свой собственный метод ApplicationController
и сделайте его доступным как вспомогательный метод, если вам нужно использовать его в представлениях.
Я бы использовал Mailer для этого. А потом делай.
MyMailer.my_method.body.encoded. Вы можете использовать помощников таким же образом.