我想问一下如何直接更新rails中的单个属性。我已经尝试了很多方法来解决它,但它们都不起作用。目前,在我看来,我有这行代码:
<%= link_to("Ban", admin_update_path(user), :confirm => "Are you sure?")%>
然后在我的控制器中:
def update
@user = User.first
if @user.update_attributes(:reputation =>1)
redirect_to admin_viewAllUsers_path, :notice => "User banned!"
else
render "index"
end
end
然后在我的路线中:
get "admin/edit"
put "admin/update"
注意:如果我在路由中使用 put "admin/update",我会得到 "No route matches [GET] "/admin/update.2" 错误,但是当我使用 get "admin/update" 时我没有得到任何错误,但我的 :reputation 不会更新。顺便说一句,:reputation 是一个整数
此外,如果我使用 User.find(params[:id]) 而不是 User.first,我会得到“找不到没有 ID 的用户”错误。
请帮忙。我该怎么办?我哪里做错了?