1
所以我使用用戶代理檢測服務於我的應用程序中的不同視圖,通過服務example.mobile.haml
而不是example.html.haml
。除了設計視圖發生的一些有趣的事情之外,它一切正常。iOS /手機檢測與設計
當我將根作爲桌面UA(Safari,Mac OS)時,它正確地重定向到/用閃光燈登錄,當我作爲移動UA執行此操作時,它不重定向並僅顯示閃光燈並呈現不額外的HTML。
同樣,作爲桌面UA登錄/註銷正確註銷並重定向到/登錄,因爲它應該。但作爲移動UA點擊/註銷,破壞你的會話,但不會重定向。
我已經遵循了關於設計wiki的所有說明,但這一切都不起作用。做所有檢測的代碼如下:
#application_controller.rb
def format_for_mobile
request.format = :mobile if mobile_user_agent?
end
def mobile_user_agent?
request.env["HTTP_USER_AGENT"]
request.env["HTTP_USER_AGENT"][MOBILE_USER_AGENTS]
end
# config/initializers/devise.rb
config.navigational_formats = [:"*/*", "*/*", :html, :to_mobile]
# config/initializers/mobile_responder.rb
ActionController::Responder.class_eval do
alias :to_mobile :to_html
end