Ruby on rails 4 更新属性在另一个“更新”操作中不起作用
这个问题很有趣:我想知道为什么update\u属性在我称为update\u name的update操作中不起作用。每次调用action update_name时,都会显示flash not success。如我所见,一切都写对了,但也许你能告诉我这里出了什么问题 routes.rbRuby 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
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检查我提到的和我没有提到的所有属性。