我试图获取用户输入并更新模型中的字段。
这是我的表格:
<%= 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;。
答案 0 :(得分:0)
不应使用任何参数定义控制器操作方法。他们希望从params
结构获得他们需要的任何上下文信息,这是您在find
电话中已经做过的事情。
从方法签名中删除(id)
应解决此问题。
仅使用符号调用update_attributes
是错误的。一般用法是:
user.update_attributes(bankaccname: params[:bankaccname])