Вот как я заставил это работать, хотя я не совсем уверен, как бы вы хотели использовать это в своем приложении.Считайте, что это подтверждение концепции, которая, надеюсь, поможет вам достичь вашей цели.
Допустим, вы хотите визуализировать необработанное содержимое действия 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 в браузере.