Как упростить "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. Вы можете использовать помощников таким же образом.

Другие вопросы по тегам