Ruby on Rails 3 - 将原始文件内容显示为 Github


单击

"查看原始"链接后显示文件时,如何像在 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。

相关内容

  • 没有找到相关文章

最新更新