我有一個部分形式。第一次加載頁面時,它工作正常。但是,如果部分重新呈現,那麼您提交表單,它會嘗試POST。我嘗試添加此行來強制PUT:強制在一個部分的形式,而不是後
<input type="hidden" name="_method" value="put" />
,但後來我得到了一個 「警告:無法驗證CSRF令牌真實性」
這樣做:方法=>:put和:HTML = > {:method =>:put}沒有任何影響。
我該如何解決這個問題?
部分:
<div id="item_form<%= item.id %>">
<%= render 'edit_item_row', item: item %>
</div>
形式:
<%= form_for item do |f| %>
<%= f.hidden_field :report_id, :value => @report.id %>
<tr class="highlite grid edit_item_<%= item.id %>">
<td <%= item.notes? ? "style=border-bottom:none;" : "" %>>
<%= f.text_field :name, :style => "font-size:1em;width:234px;margin-right:20px;", :value => item.name, :id => "first_focus_#{item.id}" %>
<%= f.select :tax_id, Tax.all.collect{ |c|
[c.territory_short_form, c.id]}, {:selected => item.tax_id}, :style => 'font-size:1em;' %>
</td>
<tr />
<% end %>
Update.js.erb:
$("#item_form<%[email protected]%>").html("<%= escape_javascript(render(:partial => 'reports/edit_item_row', :locals => {:item => @item})).html_safe %>");
你第二次如何提交表格?通過AJAX或通過普通的舊HTTP? – Chandranshu
通過普通的http – fatfrog