Подтвердить что ты не робот

Как упростить "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) (я пытался, но получал ошибки...)

4b9b3361

Ответ 1

Кажется, он не может быть короче, Ref. Если вы слишком долго это чувствуете, вы можете скрыть его в вспомогательном методе и просто передать различные параметры?

Ответ 2

Иногда вы могли бы сделать что-то вроде

 render_to_body "path_to_file"

и он пропускает макет, но все же вам нужно использовать переменные экземпляра внутри вашего частичного.

Ответ 3

Вы всегда можете добавить свой собственный метод к ApplicationController и сделать его доступным как вспомогательный метод, если вам нужно использовать его в представлениях.

Ответ 4

Я бы использовал Mailer для этого. И тогда сделайте.

MyMailer.my_method.body.encoded. Вы также можете использовать помощники.