1

特定のユーザー ロールに基づいてさまざまなビューをレンダリングする、ユーザー ロール ベースの 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」という名前のサブフォルダーを作成し、管理者が入力したすべてのファイルをそこに置きたいとしましょう。これにより、コントローラーがサブフォルダーでファイルを検索しないため、ファイルが見つからなくなります。したがって、テンプレートが見つからないというエラーが発生します。

コントローラーをきれいに保ちながら、それらをサブフォルダーに整理する方法はありますか?つまり、レンダー呼び出しでテンプレートのパス全体を明示的に指定する必要はありませんか?

4

1 に答える 1

0

ここで提案されているようにデフォルトのビューパスを変更することで、ビューフォルダーを再構築できました。

于 2012-04-27T08:36:21.340 に答える