Ich bin neu auf Schienen und folge den Tutorials von Michael Hartl. In seinen Tutorials verwendet er die "form_for" -Tags, um Formulare in seiner App zu erstellen. Ich liebe jedoch die CSS-Frameworks und entschied mich daher dafür, die Zurb-Foundation zu verwenden, um ein Formular manuell in HTML zu erstellen. Das Formular wird in einem Modal erstellt. Hier ist der Code für das Formular:Warum zeigt meine App "ruby on rails" in meiner HTML-Teilseite keinen Rails-Code?
<div class="reveal" id="StudentLoginModal" data-reveal
data-animation-in="hinge-in-from-top" data-animation-out="hinge-out-from-bottom">
<form data-abide novalidate action="/login" method="POST">
<%= form_authenticity_token %>
<div data-abide-error class="alert callout" style="display: none;">
<p><i class="fi-alert"></i> There are some errors in your form.</p>
</div>
<div class="row">
<label style="font-family: sans-serif;
font-size: 1.15em;
font-weight: bold;">UserName
<input name="session[name]" type="text" placeholder="Your Exam Roll.no" required pattern="number"
aria-describedby= "exampleHelpText">
<span class="form-error">
Yo, you had better fill this out, it's required.
</span>
<p class="help-text" id="exampleHelpText">Enter your username.</p>
</label>
<label style="font-family: sans-serif;
font-size: 1.15em;
font-weight: bold;">Password
<input type="password" name="session[password]" id="password" placeholder="yeti4preZ" aria-describedby= "exampleHelpText1" required >
<span class="form-error">
I'm required!
</span>
<p class="help-text" id="exampleHelpText1">Enter a password please.</p>
</label>
<input type="submit" class="button" value="Submit">
</div>
</form>
<button class="close-button" data-close aria-label="Close reveal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
Aber das Problem ist, dass Schienen CSRF-Schutz haben und es nicht ermöglicht, dass Benutzer Form ohne Echtheitstoken zu unterbreiten. Ich habe versucht, den Wert unter Verwendung <% = form_authenticity_token%> abzurufen, aber es fügt dem Formular keine Werte hinzu. Das Tag zeigt jedoch den Wert von Token auf anderen Seiten an. Irgendwelche Ideen?
Thanks :)
Edit 1: Ich denke, das Problem ist die modal ist ich das Anmeldeformular zu machen verwenden.
Sie 'skip_before_filter setzen können: verify_authenticity_token' in dem Controller. –
Aber das würde den CSRF abstellen. Ist das nicht ratsam? – Prajjwal