我的一个模型对象有一个“文本”列,其中包含网页的完整HTML。
我想编写一个控制器动作,它直接从控制器直接返回此HTML,而不是像控制器上的其他动作一样通过.erb模板传递它。
我的第一个想法是把这个动作放到一个新的控制器中,并用一个空的布局制作一个自定义的.erb模板,并且只<%= modelObject.htmlContent %>
在模板中 - 但我想知道是否有更好的方法来在Rails中做到这一点。
发布于 2018-04-08 13:40:26
在控制器respond_to
块中,可以使用:
render :text => @model_object.html_content
要么:
render :inline => "<%= @model_object.html_content %>"
所以,像这样:
def show
@model_object = ModelObject.find(params[:id])
respond_to do |format|
format.html { render :text => @model_object.html_content }
end
end
发布于 2018-04-08 14:16:46
在最新的Rails(4.1.x)中:
def show
render html: '<div>html goes here</div>'.html_safe
end
https://stackoverflow.com/questions/-100003815
复制相似问题