我已經添加了一個過濾器和def檢查權限的用戶控制器。假設設置爲只有管理員可以查看/編輯所有配置文件,並且只有創建的用戶才能查看他們自己的配置文件。和以前人一樣可以查看/編輯配置文件。我嘗試了一些方法,但都沒有成功。當我以管理員或甚至普通用戶的身份查看個人資料時,我收到「未經授權」的消息。未授權顯示的管理員
任何幫助,將不勝感激。
users_controller:
before_filter :check_privileges, :only => [:edit, :update]
def check_privileges
unless current_user.admin? || current_user.id == params[:id]
flash[:warning] = 'not authorized!'
redirect_to root_path
end
end
的index.html:
<%= link_to user.name, user %>
<% if (current_user.admin? || current_user) == @user %>
<%= link_to "Edit #{user} profile", user %>
| <%= link_to "delete", user, method: :delete,
data: { confirm: "You sure?"} %>
<% end %>
我以前試過這種方法,只是C&P你的。同樣的問題。我一直在頭腦風暴,但是我想到的任何東西都不起作用 – pwz2000 2013-03-18 17:50:54