2016-09-13 10 views
0

Ich möchte meine Rails-Anwendung mobilfreundlich machen. Es gibt einige Möglichkeiten, aber ich benutze die, wo es den User-Agent überprüft und übergibt die Parameter "is_mobile" in einer URL und dient Ansichten aus einem anderen Ordner - ich habe keinen anderen Mime-Typ für Handys, ich verwende nur einen anderen Ansichtsordner und mir geht es gut.Ein separater Assets-Ordner für mobile Geräte?

In meiner ApplicationController rufe ich prepend_view_path, wenn eine Anfrage von einem mobilen Gerät kommt.

Ich frage mich, was mit den Vermögenswerten zu tun: Bilder, js, css? Soll ich auch einen neuen Ordner für mobile Geräte anlegen - "my_assets_for_mobile" und ihn dem Pfad voranstellen? So etwas wie: prepend_assets_path (....) wenn mobile_request? Oder was?

Antwort

0

Sie können Webpack verwenden, um dies zu erreichen, dies ist ein sehr gutes Werkzeug für die Verwaltung von Assets. Sie können auch seitenspezifische Elemente erstellen, die auf der Seite geladen werden. Sie können im Handumdrehen entscheiden, welche Assets für die Seite basierend auf Ihren Anforderungen geladen werden sollen, z. B. mobilfreundliche Assets oder für andere.

+0

geteilt werden Meine Frage ist ja-nein, das ist es, Sie haben es kompliziert. – Johshi

2

Ja, Sie können. Der erste Schritt besteht darin, zu wissen, ob das Gerät eine mobile Version angefordert hat.

Zweiter Schritt ist, um so aus: (in Ihrem application.html.erb Layout)

<% if mobile? %> 
    <%= stylesheet_link_tag 'application-mobile', media: 'all' %> 
<% else %> 
    <%= stylesheet_link_tag 'application', media: 'all' %> 
<% end %> 

Dann müssen Sie nur noch application-mobile.css manifest in Ihrem Vermögen Ordnern (Kopie und die application.css

In application-mobile.css ändern können Sie Definieren Sie, welche Assets für mobile geladen werden, welche mit der application.css und andere Sachen wie diese

+0

und was, wenn es Dutzende von ihnen gibt? Bilder, Schriftarten usw. – Johshi

+0

Einfach. Legen Sie sie alle in den 'mobilen' Ordner. Mache 'require_tree 'mobil' in der' application-mobile.css' – Ruslan

+0

warum nicht stattdessen "assets_mobile" verwenden? – Johshi

Verwandte Themen