2012-11-27 36 views
2

我試圖有條件地呈現/隱藏在我的平板電腦和移動設備的景色之一一些HTML如Android手機&平板電腦,iPhone,iPad等到目前爲止,我有這個設置:Rails 3組手機和平板電腦用戶代理?

def mobile_agent? 
    request.user_agent =~ /Mobile|webOS/ 
end 

這似乎很好,但目前它只支持移動設備而不支持平板電腦。我知道mobile_fu在移動設備類別下對移動設備和平板電腦進行分組,但是它也改變了我不想要的請求格式。我的Web應用程序正在使用響應式主題,因此視圖只能在任何設備下運行,但嵌入式Unity Webplayer除外,我希望將其隱藏在單個視圖中。

有沒有什麼方法可以將上述方法擴展到包括平板電腦以及移動設備?

回答

7

我用這一個

def mobile_agent? 
    request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/(iPhone|iPad|iPod|BlackBerry|Android)/] 
end 
1

試試這個:https://github.com/neighborland/mobu

Mobu提供了一個名爲DetectMobile Rails控制器的關注。 Mobu進行服務器端用戶代理檢測,將請求分類爲移動設備,平板電腦或默認設備。

Mobu根據請求類型修改您的rails視圖路徑。它不需要自定義的MIME類型或單獨的子域名。

相關問題