1

複数のユーザーがいるアプリがあります。理論上の役割としての各ユーザー(ユーザー、クライアントなど)。ユーザータイプごとにビュー/コントローラーを設計しました。

各タイプのユーザーにログインして、異なるルートURLを実行し、それにロックできるようにしたいと思います。

もともとは、ReviseのUsersにroleという列を追加して、ユーザーを区別できるようにするつもりでした。私が抱えている問題は、current_user.role == "client" root:to =>'controller#index'の場合にroutes.rbでどのように言うかです。

彼らがページにログインしたら、他のパス、つまりdomain.com/callsdomain.com/unitsにアクセスできないようにします。

私はDeviseと一緒に走るためにcancanを調べてきましたが、これが答えかどうかはわかりません。

4

1 に答える 1

0

ルートで処理する代わりに、ApplicationController で処理してみませんか?

#application_controller.rb
before_filter :direct_to

def direct_to
  if current_user.role == "client"
    redirect_to client_controller_path
  # etc
end
于 2012-06-15T15:13:41.530 に答える