2014-09-24 75 views
0

在支持多種格式的控制器中,似乎需要一個respond_with或respond_to塊。爲什麼rails設計需要respond_with來支持多種格式?

爲什麼不是查找action_name.format.erb文件的默認行爲,如果不存在查找to_format方法?

看起來控制器動作與respond_with和respond_to分離是違反DRY的。然而,鋼軌設計師通常會做出很好的設計決策,所以我很好奇我錯過了什麼使得這個設計決定成爲一個好主意。

顯然,Rails需要知道響應哪種格式,但可以使用控制器級別的respond_to語句指定。

回答

0

因爲有可能有很多甲(HTML,JSON,XML,TXT,PNG,MP3,JavaScript和等)https://en.wikipedia.org/wiki/Internet_media_type
要找到需要的格式,可以把它降低了所有的應用程序的響應時間多的時間。 因此,我們手動限制可能的格式與respond_torespond_with

+0

當然,需要一個控制器級的respond_to(我更新的問題 - 感謝),但爲什麼會有動作級別respond_width呢? – 2014-09-25 01:21:14