2009-07-24 6 views
3

私はRuby on Railsで個人用サイトを作成しています。ほとんどの場合、RoRは完璧なツールであり、ブログの投稿、コメントなどを簡単にすることができます。Ruby on Railsで非標準ページを作成する

しかし、特定のモデルを必要としないページがいくつかあります。たとえば、「About Me」ページが必要ですが、それ自身のモデル/コントローラーであることを保証するものではありません。さらに、これらの「シングルトン」ページはデフォルトのレイアウトからリンクされ、オブジェクトが作成されていない場合でもアクセス可能でなければなりません。

これを処理する良い方法はありますか?私はきれいなURLを維持しながら単一のページを持つ多くのRoRサイトを見てきましたが、どのように構造化されているかの例はありません。最後に、これらの単一ページを動的にすることは可能ですか?私はむしろ避けられないならば静的なhtmlを持っていないだろう。あなたの質問に答えるかもしれないこのテーマについてRailscastがあります

答えて

2

私は通常、 "static"コントローラを作成します。例えば、AboutControllerです。その後、私は私のroutes.rbをファイルに一般的なルートを追加 ... indexcontactterms

ruby script/generate controller about 

は、その後、私は私のページに関する限り多くのアクションを作成します。私のページで

map.about 'about/:action', :controller => "about" 

、彼らは静的なページであるので、私は

<%= link_to "Contact", about_path(:action => "contact") %> 

として単一のページを参照して、また、あなたのコントローラでそれらをキャッシュすることを検討することができます。

class AboutController < ApplicationController 
    caches_page :index, :contact, ... 
end 

このアーキテクチャは、静的ページのほとんどの部分に適しています。 「準静的な」ページが必要な場合は、データベースからコンテンツを動的に読み込むことが考えられます。

関連する問題