Ruby on rails 3 表格不';添加时无法工作:远程=>;真的

Ruby on rails 3 表格不';添加时无法工作:远程=>;真的,ruby-on-rails-3,forms,Ruby On Rails 3,Forms,这不是我使用的唯一远程表单,但我看不出这里有什么问题。这是一个简单的表,其中每一行都有自己的表单和内联表单字段 <% for temporary_address in @temporary_addresses %> <tr id="row-<%= temporary_address.id -%>"> <%= form_for temporary_address, :remote => true do |form| %>

这不是我使用的唯一远程表单,但我看不出这里有什么问题。这是一个简单的表,其中每一行都有自己的表单和内联表单字段

<% for temporary_address in @temporary_addresses %>

    <tr id="row-<%= temporary_address.id -%>">
        <%= form_for temporary_address, :remote => true do |form| %>

            <td>
                <%= link_to "x", temporary_address, :method => :delete, :remote => true %>
                <%= form.submit "s" %>
            </td>

            [... form fields ...]
        <% end %>
    </tr>

<% end %>
在路由文件中。当不使用:remote=>true时,删除链接正在工作,表单也在工作

按submit和remote=>true将显示

Started POST "/temporary_addresses/12" for 127.0.0.1 at 2011-07-17 12:45:26 +0200

ActionController::RoutingError (No route matches "/temporary_addresses/12")
在不使用远程=>true的情况下提交可使用以下响应

Started POST "/temporary_addresses/12" for 127.0.0.1 at 2011-07-17 12:46:15 +0200
  Processing by TemporaryAddressesController#update as HTML
  Parameters: {[...] "commit"=>"s", "temporary_address"=>{[...]}, "id"=>"12"}
有人对此有线索吗

编辑1 已删除指向远程的链接以销毁要检查的记录。同样的错误

呈现的表单如下所示:

<tr id="row-1">
    <td>
    </td>

    <form accept-charset="UTF-8" action="/temporary_addresses/1" class="edit_temporary_address" data-remote="true" id="edit_temporary_address_1" method="post">

        <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" />
            <input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="vpFbYO7L9fVtBsWej37FUBobraYjjdWA/F8AjWTwC7A=" />
        </div>

            <td>
                <input id="temporary_address_firstname" name="temporary_address[firstname]" size="30" type="text" value="John" />
            </td>
            <td>

                <input id="temporary_address_lastname" name="temporary_address[lastname]" size="30" type="text" value="Doe" />
            </td>
            <td>
                <input id="temporary_address_email" name="temporary_address[email]" size="30" type="text" value="john.doe@example.com" />
            </td>
            <td>
                    New record
            </td>
            <td>
                <input id="temporary_address_submit" name="commit" type="submit" value="save" />
            </td>

        </form>
</tr>

新纪录
已解决


简单的事情。。当它们不是有效的html时,Firefox会重新排列它们。上面给出的输出是源代码。现在我已经看到了生成的源代码(多亏了web开发工具栏),问题就清楚了:隐藏的表单字段(在divs中生成,显示为:none)已经移到表单之外

Rails通过一个名为“\u method”的参数确定实际的方法。当您通过javascript发送请求时,看起来这个参数实际上丢失了。你能发布你的rails.js和一个可能的呈现表单的例子吗?你有没有可能在表单的某个地方有一个按钮,里面也有一个
:remote=>true
?@dylan有一个链接要删除,它也是远程的。就这样。@mosch稍后会这样做,thanks@dylan已删除用于测试的链接。同样的结果@mosch添加了一个渲染表单输出。
<tr id="row-1">
    <td>
    </td>

    <form accept-charset="UTF-8" action="/temporary_addresses/1" class="edit_temporary_address" data-remote="true" id="edit_temporary_address_1" method="post">

        <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" />
            <input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="vpFbYO7L9fVtBsWej37FUBobraYjjdWA/F8AjWTwC7A=" />
        </div>

            <td>
                <input id="temporary_address_firstname" name="temporary_address[firstname]" size="30" type="text" value="John" />
            </td>
            <td>

                <input id="temporary_address_lastname" name="temporary_address[lastname]" size="30" type="text" value="Doe" />
            </td>
            <td>
                <input id="temporary_address_email" name="temporary_address[email]" size="30" type="text" value="john.doe@example.com" />
            </td>
            <td>
                    New record
            </td>
            <td>
                <input id="temporary_address_submit" name="commit" type="submit" value="save" />
            </td>

        </form>
</tr>