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

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

我只关心iphone和机器人……

看看这个截屏video 。 他们建议使用以下方法检测移动设备:

request.user_agent =~ /Mobile|webOS/ 

http://detectmobilebrowsers.com/

对我非常有用。

从这个SO回答 :

最好的方法是使用一些支持的插件/ gem,比如浏览器

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

例如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等),平板电脑,ie等等。我是一个新手rails dev,我设置它并让它在2分钟内工作。 强烈推荐。

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

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

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