2016-05-29 72 views
0

我目前正在努力使其如果用戶不是管理員,他們無法進入'創建&編輯'頁面,也不能銷燬條目。重定向用戶,如果不是管理員

我有這個方法我的控制器

def must_be_admin 
    unless current_user && current_user.admin? 
    redirect_to root_path, notice: "Admin Needed." 
    end 
end 

內,我把它像這樣:

before_filter :must_be_admin, only: [:edit, :destroy, :create] 

這似乎讓未登錄在創建頁面上的用戶,但不會讓他們做實際的創建操作。無論如何不允許用戶在實際的頁面上?

基本上不允許沒有管理員 任何用戶創建/編輯/銷燬(以及不能讓他們在實際頁)和 只是重新路由他們回到指數。

回答

1

是的,如果你限制新的和編輯動作,他們也將無法看到任何頁面。如果你有一個標準的CRUD控制器,只需消除before_action中的「唯一」選項,所有非管理員都將被阻止。
您必須記住,在阻止創建操作時,您並未屏蔽顯示所有內容的「新」操作頁面。阻止「新」動作也會阻止他們看到該頁面。

相關問題