Frage

auf meiner Website möchte ich Login / Anmeldeformular in modalen Fenster haben getan mit Facebox (jQuery-Plugin). Was ist besser:

  1. Erstellen Sie Ansicht mit einer Methode und Vorlage, die Form hat und verweisen Facebox dieser Ansicht.
  2. Erstellen Sie statische HTML-Datei im öffentlichen Verzeichnis und verweisen Facebox auf diese statische Seite.

Was will ich erreichen ist:

  • Einfache Überprüfung (wie „Benutzername bereits vergeben“, „Passwortbestätigung nicht mit Passwort“ und so was).
  • Einfache einreichen und Umleitung

Ich bin neu in Rails, ich weiß nur über Formen Überprüfung in Django, so für Django ich wahrscheinlich 1 Option wählen würde, aber es könnte eine andere Sache in Ruby sein.

War es hilfreich?

Lösung

Wenn Sie die Überprüfung wollen zurück auf die Registrierungsseite kommen, sollten Sie es sich um eine dynamische Seite machen.

Das andere Problem mit einer statischen Seite im öffentlichen Verzeichnis ist, dass Ihre Links, um all fest einprogrammiert werden, also wenn Sie die Anwendung immer den Domain-Root lebt (dh example.com/app) die Links in dieser statischen Datei falsch sein könnten.

Außerdem, wenn Sie jemals Ihre Bilder auf einen anderen Host verschieben müssen, verlieren Sie die Vorteile der image_tag.

Nur statische Ressourcen verwenden, wenn Sie Dinge wissen, wird sich nicht ändern und Sie Geschwindigkeit benötigen. Wenn Ihre dynamischen Seiten zu langsam sind, können Sie sie zwischenzuspeichern, oder Sie vielleicht etwas falsch machen.

UPDATE: (den ersten Kommentar zu adressieren)

Sie können die Schienen-Funktionen verwenden, um Ihre URLs zu erstellen, wenn Sie in den öffentlichen Ordnern sind. Wenn Sie Schienen generierten URLs in Ihrem Javascript, Trigger sie von einem Schienen müssen sehen Seite. Im Allgemeinen werde ich Folgendes tun:

In application.html.erb im Kopf-Tag:

<%= yield :headScripting %>

Dann in der Ansicht Seite, die das Javascript auslöst:

<% content_for :headScripting do %>
    jQuery().ready(function() {
        jQuery("#placeholder").load("<%= summary_model_path(@model) %>");
    });
<% end %>

Das würde die Zusammenfassung Text aus der Modellsteuerung Aktion summary laden. Dies würde wahrscheinlich render :text => "summary" oder render :layout => false je nach Ihren Bedürfnissen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top