Sul mio rotaie app, su tutte le pagine, nella sezione di testa ci sono questi 2 meta tag:Rails 4. Come aggiungere authenticity_token ai moduli resi tramite partial?
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="027GUZBeEkmv..." />
sulle forme non fusi con un parziale c'è una nascosta authenticity_token
campo
<input type="hidden" name="authenticity_token" value="D5TddQruJppDD3..." />
Ma questo campo manca se si carica semplicemente il modulo in questo modo:
<%= render 'shared/comment_form' %>
È questo comportamento previsto? Devo aggiungere manualmente un authenticity_token
e in caso affermativo come convalidarlo?
Edit:
condiviso/_comment_form.html.erb
<%= form_for([@post, @comment], :html => { :onsubmit => "validateCommentForm(event)" }, remote:true) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Add to the article. Make it be more" %>
</div>
<%= f.submit "Save", class: "btn btn-info" %>
<% end %>
Inoltre, aggiungendo <input type="hidden" name="authenticity_token" id="authenticity_token" value="ANYTHING" />
a quella forma riesce ancora a inviare informazioni e creare un nuovo record ...
È possibile inviare i locali con un parziale di quando viene chiamato come tale: <% = render'shared/comment_form,: i locali => {: gettone => 'kasdlfjasldfj'}% – bkunzi01
del 'costruttore form_for' o' form_tag 'di solito si occupa di aggiungere un campo nascosto con un token di autenticità, puoi mostrarci la forma di' shared/comment_form'? – sled