如果检测到移动浏览器,是否有“rails”方式重定向?

时间:2011-08-01 23:43:38

标签: jquery ruby-on-rails-3 mobile user-agent

我想运行一个用户代理检查,但只在我的主页上(static_controller #home)我仔细查看了代码:http://www.arctickiwi.com/blog/mobile-enable-your-ruby-on-rails-site-for-small-screens它看起来很接近,但它永远不会捆绑在一起,它只是方法创建...我对jquery方法持开放态度,但更喜欢ruby / rails而不是js。

我只关心iphone和droid ......

4 个答案:

答案 0 :(得分:18)

查看此screencast。他们建议使用以下方法检测移动设备:

request.user_agent =~ /Mobile|webOS/

答案 1 :(得分:4)

http://detectmobilebrowsers.com/

对我非常有用。

答案 2 :(得分:3)

从此SO answer

最好的方法是使用一些受支持的插件/ gem,例如browser

这比编写自己的正则表达式要好得多。

例如Opera 11.50具有以下user_agent:

Opera/9.80 (Android 2.3.7; Linux; Opera Mobi/ADR-1111021303; U; en-GB) Presto/2.9.201 Version/11.50

建议的正则表达式:

request.user_agent =~ /Mobile|webOS/

总会想念那个。

你也可以知道什么平台(mac,windows等),平板电脑,等等。我是一个新手rails dev,我设置它并让它在2分钟内工作。强烈推荐。

答案 3 :(得分:0)

试试这个:https://github.com/neighborland/mobu

  

Mobu提供了一个名为DetectMobile的Rails控制器问题。 Mobu执行服务器端用户代理检测,将请求分类为移动设备,平板电脑或默认设置。

     

Mobu会根据请求类型修改您的rails视图路径。它不需要自定义MIME类型或单独的子域。