respond_to和redirect_to之間的區別

一直沒有太弄明白關於respond_to 和 redirect_to之前的區別,因爲以前的代碼大部分都是由rails自動生成的腳手架,在這個基礎上在進行一些修改,但是最近想把這些代碼都手寫一遍,熟悉一下,所以就產生了問題,不知道這兩者的區別是什麼。查了查文檔,是這樣寫的:

respond_to:

 

respond_to do |format|
      format.html
      format.xml { render xml => @people.to_xml }
end

 上面的代碼是說,如果客戶端需要從這個action得到一個HTML的響應,就渲染html模板,但是如果客戶端需要XML,那麼就返回XML格式的數據。(rails根據客戶端所提交請求中HTTP accept header來決定響應的類型)

  上面的一段話是我文檔當中的解釋(當然只是大意,翻譯的並不準確,因爲還涉及到一些上下文的關聯),在文檔當中還有這樣的一段話,大意是說:如果在應用程序當中不需要web-service的支持,那麼就可以用redirect_to將請求重定向到一個action,而如果需要web-service的支持,就需要使用respond_to。不知道我這樣的理解是否正確?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章