render_to_string возвращает пустую строку при вызове из контроллера - PullRequest
0 голосов
/ 19 января 2019

Я использую rails 5.1, у меня есть контроллер, при попытке рендеринга в строку я получаю пустую строку

def pdf_string
    path = Rails.root.join("/app/views/menu/recipe_card.pdf.erb").to_s;

   render_to_string(
      :file => path,
      locals: get_pdf_locals
    )
end

Но если я сделаю

ActionController::Base.new.render_to_string(
  :file => path,
  locals: get_pdf_locals
)

Я получаю представление. Проблема в том, что использование ActionController::Base.new внутри моего контроллера кажется странным, и представление не имеет доступа к вспомогательным методам. Любая идея, почему render_to_string моего контроллера возвращает строку emtpy, а ActionController::Base.new.render_to_string отображает правильно?

1 Ответ

0 голосов
/ 20 января 2019

Проблема заключалась в том, что мой контроллер расширял ActionController::API вместо ActionController::Base, к сожалению, render_to_string возвращал пустую строку, было бы легче отладить, если бы он терпел неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...