2016-04-16 7 views
0

Ich habe eine Rails-App, die für Front-End auf Bootstrap, Jquery und viele Jquery-Plugins abhängt.
Ich möchte eine Promo-Seite für sie mit einem 3rd-Party-Template haben. Es hat seine eigenen Abhängigkeiten (viele von ihnen) und ich will es nicht mit Rest meiner App in irgendeiner Weise zu stören.
Grundsätzlich möchte ich, dass es so weit wie möglich vom Rest meiner App getrennt ist.
Es ist völlig statisch und muss nicht mit dem Rest der App interagieren. Ich brauche nicht einmal erb für Templating.
Auch ich möchte, dass es separate Abhängigkeiten vom Rest der App zu haben.
Wie könnte ich das erreichen?Separate schwere statische Seite in Schienen

+0

Es ist schwer zu verstehen, was Sie fragen. Rails ist ein Back-End-HTTP-Server-Framework, aber Sie scheinen über JQuery und andere Frontend-Abhängigkeiten zu sprechen. Welche Abhängigkeiten wollen Sie isolieren, warum können Sie das nicht tun, und was haben Sie versucht? – Knetic

Antwort

2

Sie können eine separate, statische index.html Datei im Ordner public Ihrer Anwendung erstellen und sicherstellen, dass root nicht auf eine Controlleraktion in der Datei config/routes.rb zeigt.

Wenn Sie es auf einem bestimmten Pfad, anders als root, bereitstellen möchten, erstellen Sie einfach diese Ordner im Ordner public und legen Sie Ihre index.html Datei dort.

In diesem Fall wird es nicht mit dem Rest Ihrer Anwendung und Sie profitieren, weil Ihr Webserver (d. H. Nginx) kann es zwischenspeichern und es viel schneller als dynamisch erzeugte Seiten dienen.

+0

und die Abhängigkeiten behalte ich es einfach in einem Ordner neben 'index.html' in' public' Ordner? Muss ich die css und js Dateien in 'assets.rb' deklarieren? Wie verlinke ich diese Seite von einigen Controller? @ IvanLučev –

+1

Sie können diese Abhängigkeiten auch in 'public' Ordner setzen, und verweisen Sie es mit dem gleichen Pfad wie es im Ordner ist (wie' css/something.css', wenn es 'public/css/something.css ist '). Wenn Sie dieser Seite eine Aktion zugeordnet haben, müssen Sie sie in 'routes.rb' konfigurieren (und diese Seiten in den Ordner' views' legen, um das Rendern zu vereinfachen). –

+0

Ich würde sie neben index.html in den öffentlichen Ordner, wahrscheinlich in Unterordner wie Stylesheets und Javascripts, wie @ AndréGuimarãesSakata sagte. Das Hinzufügen zu Assets könnte nützlich sein, um sie vorkompilieren und in eine Datei zusammenführen zu können, um mehrere Anfragen zu vermeiden, aber Ihre statische Datei wird keinen generierten md5-Hash-Fingerabdruck erkennen, daher bin ich mir nicht sicher, wie das funktionieren würde möglich, es irgendwie zu konfigurieren. –

Verwandte Themen