Rails submit_to_remote无法POST

时间:2010-04-14 09:25:39

标签: ruby-on-rails forms rest routes

我正在尝试使用 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) + '&amp;authenticity_token=' + encodeURIComponent('blah')});" type="button" value="Create">

由于

1 个答案:

答案 0 :(得分:0)

如何使用link_to_remote代替并将链接设置为类似“按钮”,或者只是将其保留为链接就可以了。这样您就可以完全控制XmlRequest。目前我认为该方法是由您提交的实际表单决定的,而不是您在帮助程序调用中设置的方法。