Rails 3 обнаруживает запрос от мобильных клиентов - PullRequest
5 голосов
/ 15 августа 2011

Моя настройка: Rails 3.0.9, Ruby 1.9.2

Мое приложение должно обслуживать мобильную и веб-разметку в зависимости от источника запроса.Мне нужно поддерживать все основные интерфейсы мобильных клиентов, такие как iPhone, Android, Blackberry и т. Д. Какой самый простой способ обнаружить это в моем коде?

Ответы [ 2 ]

8 голосов
/ 15 августа 2011

Самый простой способ сделать это - анализ request.user_agent от RegEx / Mobile | webOS / .Переменная Mobile / Full version может быть сохранена в сеансе, и помощник будет полезен для включения мобильного CSS:

#controller
def mobile_device?
  if session[:mobile_param]
    session[:mobile_param] == "1"
  else
    request.user_agent =~ /Mobile|webOS/
  end
end

helper_method :mobile_device?


#layout
<%= stylesheet_link_tag 'mobile' if mobile_device? %>

Railscasts 199 - пошаговое руководство для вас.1010 *

7 голосов
/ 15 августа 2011

Будет возвращен пользовательский агент.

request.user_agent =~ /Mobile|Blackberry|Android/ # OR WHATEVER
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...