【发布时间】:2015-11-17 07:36:04
【问题描述】:
我希望能够以管理员身份向其他用户添加授权角色..当我单击“添加角色”按钮时,它说它已将角色添加到该用户..但是当我在 Rails 控制台中检查角色时该用户仍然为零。
def index
@user = User.new
@users = User.all
end
def update
@users = User.all
@user = User.find_by_username(params[:user][:username])
if @user && params[:user][:role] == "editor"
@user.role = "editor"
@user.save
flash.notice = "Added role 'editor' to #{@user.username}."
redirect_to "/adminsettings"
elsif @user && params[:user][:role] == "admin"
@user.role = "editor"
@user.save
flash.notice = "Added role 'editor' to #{@user.username}."
redirect_to "/adminsettings"
elsif @user && params[:user][:role] != "editor"
flash.notice = "Please chose 'editor' if you want to add this role to this user."
redirect_to "/adminsettings"
else
redirect_to "/adminsettings"
flash.notice = "Please choose one of the users below."
end
end
查看
<%= form_for @user ,:url => {:controller => "admin_settings", :action => "update"}, method: :patch do |user| %>
<%= user.text_field :username, :placeholder => "Username" %><br />
<%= user.text_field :role, :placeholder => "Role" %><br />
<%= user.submit "Add Role" %>
<% end %>
<% @users.each do |user| %>
<strong><%= user.username %></strong><br />
<% end %>
路线
get '/adminsettings', to: 'admin_settings#index'
patch '/adminsettings', to: 'admin_settings#update'
【问题讨论】:
标签: ruby-on-rails sql-update authorization roles