問題は、あなたのホームページは単なるランディングページなのか、それともページのグループなのかということです。ランディングページだけの場合は、他の場所に移動する場合を除いて、ユーザーがそこに長くとどまるとは思わないでしょう。それがページのグループであるか、既存のグループに類似している場合は、最も似ているコントローラーにアクションを追加できます。
現在のプロジェクトで行ったことはStatic
、3つの静的ページが必要なため、という名前のコントローラーを作成することです。ホームページはこれらの1つです。他の場所に移動する以外に、表示したり実行したりすることは何もないからです。
デフォルトルートをマッピングするには、以下を使用しますroutes.rb
。
map.root :controller => 'MyController', :action => :index
私の場合、これは次のようになります。
map.root :controller => 'static', :action => :index
必要に応じて、このホームページ専用のコントローラーを作成できます。私はそれをメイン、またはホームページに関連する覚えているものと呼びます。そこから、データとモデルを取得し、出力ビューに従うことができます。
class MainController < ApplicationController
def index
@posts = Posts.find(:all, :limit => 10, :order => 'date_posted', :include => :user)
end
end
モデルの関係が正しく定義されていると仮定すると、それに一致するテンプレートは非常に単純になります。
頑張ってください、これが役立つことを願っています。
@posts = Posts.find( ...
または@posts = Posts.all
類似のものは、そのようなコードがPost
コントローラーのindex
アクションにすでに表示されている場合でも、DRYの原則に違反しているとは見なされませんか?すでに書かれたコードを使用してPost
コントローラーのindex
アクションを実行する、より良い(よりモジュール化された)方法はありますか?