Отображение необработанного содержимого файла как Github - PullRequest
2 голосов
/ 19 мая 2011

Как я могу отобразить необработанное содержимое файла, как это было сделано в GitHub при отображении файла после нажатия на ссылку «просмотреть необработанное»?

например. Я хотел воспроизвести *.html исходный файл, но rails берет html в params[:format] и рендерит по-своему.

Как мне этого добиться?

1 Ответ

1 голос
/ 19 мая 2011

Вот как я заставил это работать, хотя я не совсем уверен, как бы вы хотели использовать это в своем приложении.Считайте, что это подтверждение концепции, которая, надеюсь, поможет вам достичь вашей цели.

Допустим, вы хотите визуализировать необработанное содержимое действия index для вашего контроллера продуктов, если кто-то запрашивает «текстовый» формат:

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 в браузере.

...