将原始文件内容显示为Github

时间:2011-05-19 10:48:33

标签: ruby-on-rails-3 github render

如何在点击“查看原始”链接后显示文件时,如何在GitHub中显示原始文件内容?

E.g。我想展示*.html文件的源代码,但rails在html中占用params[:format]并以自己的方式呈现。

我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

以下是我如何使用它,但我不确定如何在您的应用程序中使用它。认为这是一个概念证明,可以帮助您实现目标。

假设有人请求“文本”格式,您希望为产品控制器呈现索引操作的原始内容:

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。