Ich habe eine unfassbar große Landingpage mit einem Anmeldeformular in der Mitte. Wenn ich das Formular abschicke und die Validierung fehlschlägt, möchte ich die Zielseite erneut rendern, aber ich möchte, dass sie zum Registrierungsformular gescrollt wird, damit sie die Fehler sehen und Änderungen vornehmen können. Ist es möglich, mit der Methode render
zum Formular zu springen, oder muss ich redirect_to "account/new#theFormID"
machen?
Ich würde lieber keine Umleitung machen, weil Sie die Formularinformationen in einer Sitzung speichern, das Formular erneut ausfüllen müssen usw. und ich möchte das herkömmliche
beibehalten %Vor%Setzen Sie die Anker-Anweisung in das Formular und Sie können sich immer noch auf Folgendes verlassen: Rendern vom Controller ...
%Vor% Ich scrollte mit render
zu einem Anker und benutzte eine globale Variable und Javascript (wie von Ibrahim angedeutet).
Auf meinem Controller hatte ich folgendes:
%Vor%Und auf meiner Seite habe ich überprüft, ob ich einen globalen @anchor habe, und wenn ja, blättern Sie dazu mit Javascript:
%Vor% Und noch etwas ... wenn es sich um einen Link handelt, den ich tatsächlich verwende, müssen Sie ein eindeutiges param
hinzufügen, damit der Browser denkt, dass etwas Neues eingereicht wird. Andernfalls wird es nur aktualisiert, ohne den Server zu treffen. Ich benutze:
Tags und Links ruby-on-rails