我想知道是否有任何方法來改變基於域名的視圖格式相同的應用程序。如何更改基於域名的視圖格式
例如:
- www.domain.com =>的respond_to format.html
- api.domain.com =>的respond_to format.xml或format.json
由於所有爲您的幫助
我想知道是否有任何方法來改變基於域名的視圖格式相同的應用程序。如何更改基於域名的視圖格式
例如:
由於所有爲您的幫助
是的,在您的控制器中使用before_filter並根據request.host
的值設置response.format
。
class Controller < ActionController::Base
before_filter :adapt_response_format
protected
def adapt_response_format
response.format = case request.host
when "xml.foo.com" then :xml
else :html
end
end
太棒了! 非常感謝! – jjmartres 2010-02-27 09:56:55
這是我猜測是你的問題的替代方法。
爲什麼不問你的客戶設置Accept頭爲application/xml或application/JSON取決於他們想要什麼格式?您可以默認提供html以支持Web瀏覽器。
這樣你就不需要有兩個不同的主機。
你當然可以調整Apache配置來做到這一點。 – vava 2010-02-26 15:58:21