Rails form_for错误 - 参数数量错误(0表示1)

时间:2014-08-21 06:27:35

标签: ruby-on-rails

我试图获取用户输入并更新模型中的字段。

这是我的表格:

<%= form_for @user, url: users_bankacc_path(current_user.id), html: { method: :put }) do |f| %>
       <div class="form-group">
          <%= f.label :name %><i> (as in your bank account)</i>
          <%= f.text_field :bankaccname, class:"form-control" %>
       </div>

       <div class="form-group">
          <%= f.submit "Submit", class:"btn btn-primary" %>
      </div>

<% end %>

这是我在控制器中的方法:

def bankacc(id)
   user = User.find(params[:id])
   user.update_attributes(:bankaccname)
end

我收到错误&#34;错误的参数数量(0表示1)&#34;。

1 个答案:

答案 0 :(得分:0)

不应使用任何参数定义控制器操作方法。他们希望从params结构获得他们需要的任何上下文信息,这是您在find电话中已经做过的事情。

从方法签名中删除(id)应解决此问题。

仅使用符号调用update_attributes是错误的。一般用法是:

user.update_attributes(bankaccname: params[:bankaccname])