0

Rails アプリケーションの構造化に問題があります。スタイル モデルがあり、5 つの注目モデルをページ ルート (/) にリストし、最も古いものから最新のものへ、またはその逆にリストを設定できる参照オプションを設定したいとします。

http://example.com/ - 注目の 5 つ http://example.com/styles/newest - すべて最新http://example.com/styles/oldest - すべて最も古い

コントローラーとルートをコーディングするにはどうすればよいですか? 私は5つの機能とすべてのifステートメント( if params[:order] == 'oldest' then @styles = Style.oldest のようなもの)で別々のコントローラーを試しましたが、これは機能していないようでも論理的でもないようです.

4

1 に答える 1

1

2 つのカスタム ルートを追加します。Routes.rb

resources :styles do
  collection do
    get :newest
    get :oldest
  end
end

root :to => 'styles#index'

StylesController.rb

def index
   @styles = Style.last(5)
end

def newest
   @styles = Style.order("created_at desc")
  ...
end

def oldest
  ...
end

提案: シンプルにしてください。

于 2012-06-27T16:24:37.997 に答える