【发布时间】:2018-12-07 11:52:06
【问题描述】:
我有一个 Rails 5 应用程序构建为 api app:
# config/application.rb
module MyApp
class Application < Rails::Application
config.api_only = true
end
end
在我的一个控制器操作中,我需要渲染一些 Ruby 风格的 html,然后将其返回到 json 响应中。
一个标准的 Rails 应用程序会这样做:
# app/controllers/my_controller.rb
def my_action
html = ApplicationController.new.render_to_string("my_erb_or_haml_file", locals: {foo: "bar"}, layout: false)
render :json => {html: html}, :status => :ok
end
但是,对于我精简的 api 应用程序 ApplicationController.new.render_to_string 似乎只是渲染 " "。这让我很困惑,因为我希望它要么提供内容,要么引发异常。
任何建议我应该采取什么路线来生成 Ruby 风格的 html?
【问题讨论】:
-
@SergioTulentsev 似乎无论我使用该帖子中的哪条建议行,它都会呈现
" ",例如Rails.logger.error ApplicationController.render(inline: 'erb content').inspect # => " ".
标签: ruby-on-rails ruby-on-rails-5 applicationcontroller