我正在使用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
正确呈现时控制器的ActionController::Base.new.render_to_string
返回空字符串吗?
答案 0 :(得分:0)
问题是我的控制器扩展了ActionController::API
而不是ActionController::Base
,不幸的是render_to_string
返回的是空字符串,如果失败很容易进行调试。