2017-02-01 4 views
2

私は、さまざまなリソースを利用するための複数の方法があるアプリを持っています。たとえば:プロジェクトのためのRailsコントローラ - 連結するかどうか

  • お客様は、編集、ビューを作成し、
  • 管理者は、表示、編集、および、そのような ステータスや編集の変更などその他の変更を(行うことができます自分のプロジェクトをキャンセルすることができます隠されたフィールド)
  • サプライヤは、他の 顧客を持つプロジェクトを表示し、ポートフォリオに追加することができます

ディレクトリ構造については、「customers/projects」、「admins/projects」、「サプライヤ/プロジェクト」の3つの独立したコントローラの下で作成することを意図していました。しかし、私は今考えています。むしろ、これらすべてを組み合わせて、コントローラの条件付きロジックを各ユーザーのタイプや表示を変更する必要がありますか?

私は認可を心配しています(私はこれを解決するためにPunditを使うことができますか?)と思っています。このようなシナリオではベストプラクティスは何ですか?

答えて

0

私はそれらを別々に保つことを選択しましたが、その主な理由はビューの周りでした。リソースの1つのコントローラで統合し、CanCanCanまたはPunditで権限を管理することができますが、それぞれのビューは多数のユニークなものになります(たとえば、異なるインデックスアクション、それぞれの作成および更新アクションに基づくproject_params)。これを1つのコントローラーにまとめると、犬ショーになります!

関連する問題