Ruby on rails 4 更新属性在另一个“更新”操作中不起作用

Ruby on rails 4 更新属性在另一个“更新”操作中不起作用,ruby-on-rails-4,update-attributes,Ruby On Rails 4,Update Attributes,这个问题很有趣:我想知道为什么update\u属性在我称为update\u name的update操作中不起作用。每次调用action update_name时,都会显示flash not success。如我所见,一切都写对了,但也许你能告诉我这里出了什么问题 routes.rb resources :users do member do patch :update_name end end 用户\u controller.rb def edit @user = User

这个问题很有趣:我想知道为什么update\u属性在我称为update\u name的update操作中不起作用。每次调用action update_name时,都会显示flash not success。如我所见,一切都写对了,但也许你能告诉我这里出了什么问题

routes.rb

resources :users do
  member do
    patch :update_name
  end
end
用户\u controller.rb

def edit
  @user = User.find(params[:id])
end

def update_name
  @user = User.find(params[:id])
  if @user.update_attributes(user_params2)
    flash[:success] = "name updated"
    redirect_to @user
  else
    flash[:danger] = "not success"
    render 'edit'
  end
end

private
  def user_params2
    params.require(:user).permit(:name, :email)
  end
users/edit.html.erb

<%= form_for @user, :url => update_name_user_path(@user) do |f| %>

  <%= f.label :name %>
  <%= f.text_field :name %>

  <%= f.label :email_field %>
  <%= f.text_field :email %>

  <%= f.submit %>
<% end %>

尝试更新属性!使用者_params2@Pardeep多谢你!这有帮助,但另一个问题出现了。如果我不想更新我的用户模型的所有属性,而只更新很少的属性,该怎么办?现在我甚至要求只更新user_params方法中的几个属性,update_attributes检查我提到的和我没有提到的所有属性。