Dispositifs de support mobiles dans Ruby on Rails
-
18-09-2019 - |
Question
Quelle est la meilleure façon de développer une application de rails qui a des vues particulières pour différents appareils mobiles? Fondamentalement, je suis à la recherche de quelque chose comme cette solution ASP.NET MVC: http: //www.hanselman. com / blog / MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
La solution
Deux articles qui utilisent l'iPhone comme un exemple de servir un point de vue différent sur la base d'un sous-domaine mobile ou un en détectant l'agent utilisateur. Essentiellement, vous allez créer un point de vue différent en utilisant quelque chose comme viewname.iphone.erb ou viewname.mobile.erb et définissez la variable request.format respectivement iPhone ou mobile.
iPhone avec subdomains Rails
Autres conseils
Vous cherchez peut-être mobile_fu . Il est un plug-in qui change automatiquement le format Rails de: html à: mobile pour Nokia, Blackberry, iPhone et les utilisateurs de Palm. Vous pouvez alors simplement fournir un {action}.mobile.erb
pour compléter {action}.html.erb
et il rend la vue mobile. Si vous avez besoin de quelque chose à grain plus fin, il vous permet de faire:
is_mobile_device?
et il y a d'autres méthodes d'aide
J'ai trouvé Railscast extrêmement utile pour cette situation: http://railscasts.com/episodes/199-mobile-devices
it helps quelqu'un dehors.
Ernie Miller a écrit un poste sur la façon de fournir des modèles mobiles pour votre point de vue. Ce qui est bien est que son approche ne vous oblige pas à fournir un modèle mobile si elle n'est pas nécessaire. Au lieu de cela, les rails retomberont sur votre modèle principal si la version mobile ne se trouve pas.
J'ai écrit récemment un article sur ce qui peut vous être utile:
http : //www.arctickiwi.com/blog/2-mobile-enable-your-ruby-on-rails-site-for-small-screens
L'espoir qui aide
jonno
Je viens de voir une vidéo vraiment éclairante à ce sujet: http://www.engineyard.com/video/ 12678746 . Il y a beaucoup plus à une expérience Web mobile décente alors les pages de portage directement.
Vous pouvez essayer Mobvious - https://github.com/jistr/mobvious
Détecte mobiles par rapport aux ordinateurs de bureau + comprimés, ou si vous voulez, détecte les tablettes mobiles vs vs les ordinateurs de bureau.
Il supporte également la sélection manuelle par les utilisateurs (prépondérants la détection) si vous souhaitez permettre aux utilisateurs de passer manuellement les versions d'interface.
Et il y a une extension mobvious-rails qui ajoute des aides à vos contrôleurs, vues et CoffeeScript.