Rails 2.3.x: есть ли замена render_to_string?

#ruby-on-rails #controller #render #partial

#ruby-on-rails #контроллер #визуализация #частичное

Вопрос:

render_to_string не рекомендуется, но в документах API замена не упоминается. Как вы можете отобразить часть строки в контроллере без использования этой функции? Мне это нужно, чтобы делать подобные вещи:

 render :update do |page|
    ...
    page.call "Lightbox.create", render_to_string(:partial => "...", ...)
end
  

Или:

 render :json => {
    ...,
    :message => render_to_string(:partial => "...", ...)
}
  

Ответ №1:

render :partial => "..." должен возвращать отображаемую часть (в отличие от отображения «a_view»).

Ответ №2:

метод render_to_string был перенесен в модуль ActionController::Rendering.

Вот исходный код render_to_string

Попробуйте вызвать render_to_string на ActionController::Base вот так:

ActionController::Base.new.render_to_string ...