3

ディレクトリのサブディレクトリを持つ管理セクションがありcontrollersます。つまり、ディレクトリにapp/controllers/admin/は一連のファイルが保持され、各ファイルにはadminセクションの個別の部分を処理するためのコントローラーが含まれています。

ここで、「管理セクションへようこそ」という非常に単純な「管理ホームページ」を作成したいのですが、この目的でコントローラー全体を作成したり、「アクション」メソッドを配置したりすることは避けたいと思います。このビューは、他の任意のコントローラーで表示されます。

したがって、問題は、「ビューに直接ルーティングする」-HTMLファイルに直接ルーティングする方法はありますか?(そして、私はのような要求されたパスからHTMLファイルにルーティングしたくありません/some-file.html;私はのようなパスからルーティングする必要があります/admin/。)

ここでこの質問をすることは、スタブコントローラーを作成するのにかかる時間の価値はほとんどありませんが、将来的にはそのような必要性があると確信しています。

4

2 に答える 2

7

moritzが言うように、コントローラーを完全にバイパスすることはできませんが、このアクションのためだけにコントローラー全体を作成する必要はありません。「ダッシュボード」または「ランディング」タイプのページが必要な場合は、ApplicationControllerにアクションを追加するだけです。

class ApplicationController < ActionController::Base
  def index
  end
end

次に、ページをapp / views / application/index.html.erbに配置します

あなたの場合、あなたはあなたのapp / controllers / admin /ディレクトリにapplication_controller.rbを置き、そこで同じことをすることができます。

これは、リソースの範囲外のページに最適な場所であることがわかりました。

于 2009-12-28T22:06:38.250 に答える
4

いいえ、できません。なんで?

設計:これは、Railsが自分の利益のために使用することを強制するMVCパターンの違反にすぎません。常にコントローラーが関与します。そして、はい、そのようなスタブページの場合でも、コントローラーが必要です。とにかく、数行のコードはあなたを傷つけることはありません、そしてあなたが何らかのアクセス制御を実行する必要があるときあなたは再びそれを気に入るはずです。

それがあなたの質問に答えたことを願っています:-)

于 2009-12-28T21:40:35.150 に答える