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)