Ruby on rails 4 我如何将一个用户升级为管理员用户一个控制器方法并传入该用户?

Ruby on rails 4 我如何将一个用户升级为管理员用户一个控制器方法并传入该用户?,ruby-on-rails-4,model-view-controller,hyperlink,controller,Ruby On Rails 4,Model View Controller,Hyperlink,Controller,我有一个用户索引页: <ul> <% @users.each do |user| %> <li><%= user.name %> | <%= link_to "Promote to Admin", :controller => :users_controller, :action => :promote_to_admin(user) %> </li> <% end %> </ul>

我有一个用户索引页:

<ul>
<% @users.each do |user| %>
<li><%= user.name %> |  <%= link_to "Promote to Admin", :controller => :users_controller, :action => :promote_to_admin(user) %> </li>
<% end %>
</ul>
  • |:用户\控制器,:操作=>:将\升级到\管理员(用户)%>
当我单击“升级到管理员”链接时,我希望通过调用usersController中的“升级到管理员”操作将用户升级到管理员。我该怎么做

这是我的用户控制器:

class UsersController < ApplicationController

def index
@users = User.all
end


def promote_to_admin
  user = User.find(params[:id])
  user.update_attribute!(:admin, true)

  if user.admin == true
    flash[:success] = "User has been sucessfully promoted to admin"

  else
    flash[:error] = "User could not be promoted to manager"
end
end
end
class UsersController
这应该是这样的:

<li><%= user.name %> |  <%= link_to "Promote to Admin", :controller => :users_controller, :action => :promote_to_admin(:user) %> </li>

你能说得更具体些吗?答案更新了。。调用操作时,您没有使用
:user
,而只使用
user
,这可能是问题的原因。
:promote_to_admin(:user)