首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何直接从Rails控制器返回HTML?

如何直接从Rails控制器返回HTML?
EN

Stack Overflow用户
提问于 2018-04-08 05:07:23
回答 2查看 0关注 0票数 0

我的一个模型对象有一个“文本”列,其中包含网页的完整HTML。

我想编写一个控制器动作,它直接从控制器直接返回此HTML,而不是像控制器上的其他动作一样通过.erb模板传递它。

我的第一个想法是把这个动作放到一个新的控制器中,并用一个空的布局制作一个自定义的.erb模板,并且只<%= modelObject.htmlContent %>在模板中 - 但我想知道是否有更好的方法来在Rails中做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2018-04-08 13:40:26

在控制器respond_to块中,可以使用:

代码语言:javascript
复制
render :text => @model_object.html_content

要么:

代码语言:javascript
复制
render :inline => "<%= @model_object.html_content %>"

所以,像这样:

代码语言:javascript
复制
def show
  @model_object = ModelObject.find(params[:id])

  respond_to do |format|
    format.html { render :text => @model_object.html_content }
  end
end
票数 0
EN

Stack Overflow用户

发布于 2018-04-08 14:16:46

在最新的Rails(4.1.x)中:

代码语言:javascript
复制
def show
  render html: '<div>html goes here</div>'.html_safe
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档