特定のユーザー ロールに基づいてさまざまなビューをレンダリングする、ユーザー ロール ベースの Rails アプリケーションを使用しています。これは、カスタム MIME タイプを使用して実現されます。このスタック オーバーフローの投稿hereに従ってビルドしました。
それは見事に機能します。コントローラーで適切なテンプレートを明示的にレンダリングする必要さえありません。
def index
@projects = Project.all
end
それ以外の:
def index
@projects = Project.all
respond_to do |format|
format.html
format.admin
end
end
ファイルの MIME タイプの末尾のおかげで、コントローラーは自動的に正しいテンプレートをレンダリングします。
私が今抱えている唯一の問題は、私のビュー フォルダーがこれらすべての異なるテンプレートでちょっと雑然としていて、それらをタイプに応じてサブフォルダーにグループ化して整理したいということです。「admin」という名前のサブフォルダーを作成し、管理者が入力したすべてのファイルをそこに置きたいとしましょう。これにより、コントローラーがサブフォルダーでファイルを検索しないため、ファイルが見つからなくなります。したがって、テンプレートが見つからないというエラーが発生します。
コントローラーをきれいに保ちながら、それらをサブフォルダーに整理する方法はありますか?つまり、レンダー呼び出しでテンプレートのパス全体を明示的に指定する必要はありませんか?