如何使用Ruby on Rails 5 API应用程序呈现HTML

jam*_*ass 6 html ruby api ruby-on-rails ruby-on-rails-5

我们在API模式下使用Ruby on Rails 5.0.0.1。我需要添加什么中间件和配置,以便能够在控制器中呈现html而不是json。

编辑:

谢谢大家的答案。

我想要的是渲染普通erb/haml视图。不是json中的html之类的html,例如“ kartik upadhyay”。由于应用程序主要是JSON API,因此我们不需要完整的默认Rails安装,这意味着我们的应用程序控制器从扩展ActionController::API

我的计划是制作一个PdfRendering控制器,其中包含ActionView正常工作所需的所有模块。我宁愿做的是读取资产管道(因为我们想使用sass)并从继承应用程序控制器ActionController::Base。就像其他Rails应用一样。

这不是最好的解决方案,因为您包括了整个ActionController :: Base以及您可能没有使用的所有Feature。但是完整的Blown Rails安装(尤其是中间件,也称为会话等)仍然要苗条。

小智 -1

您可以使用 Rails 的 render to string 方法将 html 渲染为 json 中的字符串,将其放入控制器中:

render json: { data: render_to_string('html_file_name') }

这会将 html 渲染为响应,如下所示:

{"data": "<html>\n<h3>hello</h3>\n</html>"}
Run Code Online (Sandbox Code Playgroud)