2009-08-29 11 views
19

コントローラなしでビューを作成することは、レールで処理できますか?たとえば、他のページにリンクしているページがあるとします。ダミーコントローラーを作成する必要がありますか、ルートファイルで何かできますか?コントローラなしのレール表示

答えて

14

いいえ、すべてのリクエストはコントローラを経由する必要があります。

PagesControllerが好きです。そうすれば、私はapp/views/pages/foo.erbを作り、余分なコードなしで/fooで利用できるようにすることができます。

+4

Thoughtbotに便利なプラグインがあります:http://github.com/thoughtbot/high_voltage/tree/master – jonnii

+0

これは時代遅れのようです... ...?最初は地図が未定だと言っていました。それから、routesの上にパラメータとしてmapを追加しました。 その後、RailsはこのURL [route-in-rails-3](https://blog.engineyard.com/2010/the-lowdown-on-routes-インレール3 /) – msanjay

3

本当にアプリケーションの一部として必要ない場合は、静的なhtmlファイルを/ publicディレクトリに追加することもできます。

0

番号:こちらのリンクです。

ビューフォルダにindex.html.erbcontact.html.erbのようなページがある場合は、 contactというダミーコントローラを作成する必要があります。次にindex.html.erbからcontact.html.erbにリンクすることができます。 <%= link_to 'contact', :controller => "ads", :action => "contact" %>というリンクをここに "ads" - > controller nameとしてください。

19

私はAugustの答えが好きですが、私は若干異なる方法があります。

あなただけにフォルダを追加することができます

...あなたは

/any/path/somefile.html.erb

ではなく、コントローラを追加を追加したいとしましょう"application"という名前のビューを作成し、そのディレクトリにファイルを作成します。

ルートファイルには、

はそれがお役に立てば幸いです(このすべてが行うページコントローラの必要性を取り除くある)

match '/any/path/somefile' => 'application#somefile' 

あなたのERBはまだあなたがあなたのレイアウトを取得し、評価し、あなたが望む任意のパスを作成することができます... ...

関連する問題