mãTrong Rails 3, respond_to và format.all hoạt động khác với Rails 2?
respond_to do |format|
format.html
format.json { render :json => @switches }
format.xml { render :xml => @switches.to_xml }
format.all { render :text => "only HTML, XML, and JSON format are supported at the moment." }
end
ở trên sẽ hoạt động trong Rails 2.2.2. Nhưng trong Rails 3, việc nhận controller/index.html hoặc chỉ mục trên trình duyệt sẽ rơi vào dòng cuối cùng: "chỉ hỗ trợ định dạng HTML và JSON tại thời điểm này".
Các chỉ Rails doc tôi có thể tìm thấy trên đây là
mà hiện tại chỉ khẳng định:
respond_to :html, :xml, :json
nhưng họ cần mẫu riêng biệt cho json và xml, và không thể xử lý "chỉ định dạng HTML và JSON được hỗ trợ tại thời điểm" trường hợp.
Tôi nghĩ cuộc gọi to_xml là không cần thiết. Trình trả lời Rails 3 mặc định sẽ tự động gọi nó. – dogenpunk
định dạng. Chúng tôi có cùng một vấn đề như format.all cho tôi. điều này có thể có liên quan: http://blogs.thewehners.net/josh/posts/354-obscure-rails-bug-respond_to-formatany – dreeves
@dogenpunk: điều đó đúng là tất nhiên. Tôi đã chỉnh sửa câu trả lời của mình để chỉ ra điều đó. Tôi cũng đã thêm một ví dụ 'response_to' thuần túy (và làm rõ thêm). @ dreeves: tốt cho tôi nó chỉ hoạt động, các blogpost bạn đề cập đến là cổ trong Rails-terms :) – nathanvda