Existe-t-il un "moyen Rails" permettant de détecter si l'utilisateur utilise un appareil mobile? Ce que je veux dire est une méthode que je peux utiliser dans erb, quelque chose comme ceci:
<% if mobile? %>
Vous pouvez le faire de cette façon en définissant une fonction comme ci-dessous:
def mobile_device?
if session[:mobile_param]
session[:mobile_param] == "1"
else
request.user_agent =~ /Mobile|webOS/
end
end
Ou vous pouvez utiliser des pierres précieuses pour détecter les appareils mobiles tels que
Utilisez browser gem. Vous êtes en mesure de détecter le navigateur avec l’agent utilisateur personnalisé.
Je suggérerais de vérifier device_detector, qui est assez rapide et facile à déployer. Vous devez juste y passer la chaîne user_agent, ce qui peut être fait en utilisant request.user_agent pour Rails 5:
@user_agent = request.user_agent
@client = DeviceDetector.new(@user_agent)
@client.device_type
Remarque: les types de périphériques peuvent être l’un des types suivants: ordinateur de bureau, smartphone, tablette, console, lecteur multimédia portable, téléviseur, navigateur de voiture, appareil photo.
Vous pouvez également résoudre ce problème simplement/ y compris<meta name="viewport" content="width=device-width, initial-scale=1.0">
sur la balise d’en-tête application.html.erb
Tant que votre site est réactif (par exemple, en utilisant Bootstrap), ça devrait aller.