Ich habe kürzlich von Ruby 1.8.6 und Rails 2.3.4 auf Ruby 1.9 und Rails 3.0.3 aktualisiert.Rails Controller Verarbeitung als HTML anstelle von XML
Ich habe folgende Controller:
class ChartController < ApplicationController
before_filter :login_required
respond_to :html, :xml
def load_progress
chart.add(:series, "Memorized", y_memorized)
chart.add(:series, "Learning", y_learning )
chart.add(:series, "Mins/Day", y_time )
chart.add(:user_data, :secondary_y_interval, time_axis_interval)
respond_to do |fmt|
fmt.xml { render :xml => chart.to_xml }
end
# Also tried
# respond_with chart
end
end
jedoch, wenn ich rufe die 'load_progress Methode' ich folgendes:
loszulegen "/ load_progress xml." Für 127.0.0 . Verarbeitung von ChartController # load_progress als HTML 406 Abgeschlossen Nicht akzeptabel in 251ms
Ich habe auch versucht, die Änderung der respond_to Block
respond_with chart
Aber ich bekomme die gleiche Antwort. Ich habe die gesamte neue Rails-Dokumentation zum neuen respond_with-Format gelesen, aber ich kann keine XML-Antwort erhalten. Hoffe verzweifelt, dass jemand ein paar Ideen hat.
Zusätzlich benötigen Sie möglicherweise ein: format =>: xml in Ihrem routes.rb für den richtigen Controller – Zsolt
Ja, erzwingt das Format im Routing scheint das Problem zu lösen. – Andy