我正在尝试使用 submit_to_remote 将表单嵌套在另一个表单中,但它会执行PUT而不是POST。任何人都可以解释这里有什么问题吗?
路线是RESTful:
map.resources :thing
map.resources :item
视图是这样的:
<% form_for(@thing) do |f| %>
<% fields_for(Item.new) do |i| %>
<%= i.text_field :name %>
<%= submit_to_remote 'create', 'Create', :url => items_path, :method => "post" %>
<% end %>
<%= f.text_field :title %>
<%= f.submit 'Update' %>
<% end %>
为了解决这个问题,我一直在为PUT添加另一个方法来创建一个PUT但是它很难看,我想知道问题是什么。
submit_to_remote出现为:
<input name="create" onclick="new Ajax.Request('/items', {asynchronous:true, evalScripts:true, method:'post', parameters:Form.serialize(this.form) + '&authenticity_token=' + encodeURIComponent('blah')});" type="button" value="Create">
由于
答案 0 :(得分:0)
如何使用link_to_remote代替并将链接设置为类似“按钮”,或者只是将其保留为链接就可以了。这样您就可以完全控制XmlRequest。目前我认为该方法是由您提交的实际表单决定的,而不是您在帮助程序调用中设置的方法。