2011-08-01 43 views
9

Tôi muốn chạy kiểm tra tác nhân người dùng nhưng chỉ trên trang chủ của tôi (static_controller # home) Tôi đã xem xét kỹ mã: http://www.arctickiwi.com/blog/mobile-enable-your-ruby-on-rails-site-for-small-screens và có vẻ như gần nhưng không bao giờ bị ràng buộc với nhau, tạo phương pháp chỉ ... Tôi mở một phương pháp jquery nhưng thích ruby ​​/ ray hơn js.có cách nào để "chuyển hướng" nếu trình duyệt di động được phát hiện không?

Tôi chỉ thực sự quan tâm về iphone và droid ...

Trả lời

18

Check-out screencast này. Họ đề nghị sử dụng những điều sau đây để phát hiện một thiết bị di động:

request.user_agent =~ /Mobile|webOS/ 
+0

Cảm ơn đó chính xác là những gì tôi đang tìm kiếm. –

+0

Điều này không thành công trên máy tính bảng và một số loại trình duyệt di động khác. Kiểm tra câu trả lời của tôi dưới đây cho một giải pháp đá quý. –

0

Hãy thử điều này: https://github.com/neighborland/mobu

Mobu cung cấp một mối quan tâm điều khiển Rails gọi DetectMobile. Mobu thực hiện dò tìm Tác nhân người dùng phía máy chủ để phân loại các yêu cầu dưới dạng thiết bị di động, máy tính bảng hoặc mặc định.

Mobu sửa đổi đường ray của bạn xem đường dẫn dựa trên loại yêu cầu. Nó không yêu cầu các loại MIME tùy chỉnh hoặc các tên miền phụ riêng biệt.

3

Từ SO answer này:

Cách tốt nhất là sử dụng một số plugin hỗ trợ/đá quý, như browser

này là tốt hơn nhiều so với văn bản regex của riêng bạn.

Ví dụ Opera 11.50 có user_agent sau:

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

Các regex đề nghị của:

request.user_agent =~ /Mobile|webOS/

sẽ tổng bỏ lỡ đó.

Bạn cũng nhận được lợi ích khi biết nền tảng nào (mac, cửa sổ, v.v.), máy tính bảng, ie6 v.v. Tôi là một rookie rails dev, tôi thiết lập và nhận nó hoạt động sau 2 phút. Rat khuyen khich.

Các vấn đề liên quan