管理者とユーザーの2つの役割を持つRailsアプリケーションがあります。ただし、管理者はActiveAdminなどのバックエンドを使用しません。管理者とユーザーの両方に同じビューを表示したいのですが、役割に応じて、表示できるものを制限します。Cancanを使用していますが、たとえば管理者とユーザーの両方が製品ページを表示できるため、ビューとコントローラーのアクション内に多くの条件が表示されます。たとえば、これが管理者であるかどうかを示し、そうでない場合は代わりに表示します。
ですから、これが「レールウェイ」だとは思いません。結局、多くのコードが繰り返され、ビュー内のコードは、ロジックをビューから遠ざけるという考えを実際にはサポートしていません。
だから私の質問は、多くの役割が同じビューでそのようなシナリオを実装するための最良の方法は何ですか?
ありがとうございました。
私は現在2つのオプションを考えていますが、どちらも好きではありません。1つは、管理者を別のビューにリダイレクトすることですが、この方法ではほとんどのビューが同じであるため、DRYではありません。オプション2は、まったく同じビューを使用することですが、ビューに多くの条件を追加するため、コードを含む非常に複雑なビューになります。私は物事をドライでありながらシンプルに保ち、ビューコードを自由に保つ方法を見つけようとしています。