我正在做Hartl的教程,我想让其他用户管理员。我可以创建一个链接到更新用户属性的操作的按钮,使其成为管理员吗?
<%= button_to "Make Admin", {action: "make_admin" }, method: :put %>
Users controller
def make_admin
update_attribute(:admin, true)
redirect_to users_url
end
routes.rb
put 'admin' => 'users#make_admin'
引用合适的用户时遇到问题。有什么建议或确定的方式吗?
由于
答案 0 :(得分:0)
路线缺少:id
。将其更改为
put 'admin/:id' => 'users#make_admin', :as => "make_admin"
另外,button_to
:
<%= button_to "Make Admin", {action: "make_admin", id: current_user.id }, method: :put %>
和UsersController
:
def make_admin
user = User.find params[:id]
user.update( :admin => true )
redirect_to users_url
end