cancancanのgemでDashboardControllerのようなControllerとAbillityの対象が違うケースにおいて機能せず、uninitialized constant Dashboardとなります。
DashboardController内で、Userの一覧などを表示させるようなケースにおいて、
uninitialized constant Dashboard
というエラーが表示されます。
ControllerとAbillityの対象とがちがっていてもcancancanを機能させたいのですが、
どのようにすればいいのかがわからず難航しております。
class DashboardController load_and_authorize_resource (1) #skip_load_and_authorize_resource (2) #load_and_authorize_resource :user, :parent => false (3) @users = current_user (4) end
(1) これだと次のエラーが表示されます。
uninitialized constant Dashboard
(2) これだと、エラーはなくなるものの、権限管理ができてないので、目的にそえておりません。
(3) 調べているとこういうやり方でいけると書いてあったのですが、私の環境下では上手く行きませんでした。
https://github.com/CanCanCommunity/cancancan/wiki/Authorizing-controller-actions#custom-class
(4) Adminの場合はUser.allでほしく、それ以外の場合はcurrent_userを取得したい。
こちらのやり方は、権限チェックを自作なさっておりますが、
このやり方だと、(4)の部分が上手くいかず、こちらのやり方でも難航しております。
http://qiita.com/snaka/items/2f30e6abedf7f7a33e99
よろしくお願いします。