2016-05-29 10 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の "only"オプションを削除するだけで、すべての非管理者はブロックされます。
作成アクションをブロックしている間は、すべてを表示する「新しい」アクションページをブロックしていないことに注意してください。 「新しい」アクションをブロックすると、ページを見ることさえできなくなります。

関連する問題