"查看原始"链接后显示文件时,如何像在 GitHub 中一样显示原始文件内容?
例如,我想*.html
文件的源代码,但 rails params[:format]
html
并以自己的方式渲染。
我怎样才能做到这一点?
这是我如何让它工作,尽管我不确定您希望如何在应用程序中使用它。将此视为概念证明,希望可以帮助您实现目标。
假设您希望在有人请求"文本"格式时呈现产品控制器索引操作的原始内容:
def index
@products = Product.all
@raw = render_to_string('products/index.html', :content_type => 'text/html')
respond_to do |format|
format.html
format.text do
render :text => @raw, :content_type => 'text/plain'
end
end
end
这显然并不理想,因为即使有人请求正常的 html 格式,您也会将视图的"原始"版本填充到变量中,但将其放入 format.text 块会搞砸 index.html.erb 中部分的内容类型。同样,这只是我想出的概念证明。
无论如何,现在当您点击:
/products.txt
您将获得页面的原始 HTML。如果你点击:
/products
它将在浏览器中呈现正常的、经过解释的 HTML。