2つのアカウント間でアクションを分割するにはどうすればよいですか?各アカウントは同じコントローラ上の特定のアクションセットのみを表示できますか?Rails 3、2つのアカウント間で同じコントローラでアクションを分割する方法は?
間違ったアカウントを特定のビューにリダイレクトする簡単な方法はありますか?両方のタイプは、上の特定のアクションを訪れることができますアカウントコントローラがあり
- インストラクター
- 学生
:
私は2つのアカウントの種類を作成している:ここで
は私のシナリオですそれ:class CoursesController < ApplicationController
# instructors are allowed to view all action's views, except :browse_courses, :register_course
before_filter :authenticate_instructor!,
:except => [:browse_courses, :register_course]
# students are allowed to view only :browse_courses, :register_course
before_filter :authenticate_student!,
:only => [:browse_courses, :register_course]
...
しかし、間違いなく、インストラクターアカウントを使用して上のコントローラーで編集操作を行った場合、教師は学生認証を要求し、編集ビューはレンダリングされません編集を表示することができます
注意:は、学生アカウントに対してのみ=> [:browse_courses、:register_course]が認証されるので、編集アクションが学生に対しても認証される理由を教えてください。 (学生のサインを見ることができます)
コードは上記の通りですか?またはこの問題のより良いアプローチがありますか?
ありがとうございましたセルジオですが、それは 権限ではありません! :show、CoursesController の代わりに を承認してください! :ショー、コース?ショーはCoursesControllerのためのアクションです、そうですか? – simo
実際にはありません。あなたはCanCanのwiki(全部)を読んだことがありますか? –
ありがとう、私はそれを読んだ、確かにCanCanは答えです – simo