3

用户可以编辑他们的信用卡信息,如下所示:

信用卡控制器:

class CreditCardsController < ApplicationController
    before_filter :authenticate_user!
    respond_to :js

    def edit
      @cc = current_user.credit_cards.where(:id => params[:id]).first
      respond_with @cc
  end

end

_form.html.erb:

<%= form_for @cc, :remote => true, :html => { :method => :put } do |f| %>
    <div id="cancel-subscription" class="modal-content">
        <div class="header dotted-border">
            <h2>Billing Information</h2>
            <p>Edit the fields below to update your information</p>
        </div>
        <div class="content dotted-border">
            <h2>Credit Card</h2>
        </div>
    </div>
<% end %>

出于某种原因,即使我将其关闭,它也会form_for忽略该选项。:method它一直设置为post. 这是不正确的,因为我正在编辑/更新 CC 条目。还有其他人遇到这个问题吗?

4

1 回答 1

3

只需添加

 :html => { :method => put }

将不起作用,因为 form_for 在更新和删除时生成带有表单的 _methode 隐藏元素。

只是使用

 :method => "put"

形式上可能有效

于 2012-08-29T18:20:18.190 回答