0

我在构建 rails 应用程序时遇到问题。假设我有一个 Style 模型,我想在我的页面根 (/) 上列出 5 个特色模型,并在浏览选项中设置列表从最旧到最新,反之亦然。

http://example.com/ - 五个精选 http://example.com/styles/newest - 所有最新http://example.com/styles/oldest - 所有最旧

如何编码控制器和路由?我已经为五个特色和所有带有 if 语句的控制器尝试了单独的控制器(类似于 if params[:order] == 'oldest' then @styles = Style.oldest),但这似乎既不工作也不合乎逻辑.

4

1 回答 1

1

添加两条自定义路线。路由.rb

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

root :to => 'styles#index'

样式控制器.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 回答