2012-06-27 5 views
0

레일 응용 프로그램을 구조화하는 데 문제가 있습니다. Style Model을 가지고 있으며 페이지 루트 (/)에 5 개의 추천 항목을 나열하고 원하는 항목을 가장 오래된 항목부터 최신 항목으로 설정할 수있는 옵션을 찾아보고 싶습니다. url 매개 변수를 사용하는 방법

http://example.com/

- 최신 모든 http://example.com/styles/oldest - - 다섯 http://example.com/styles/newest을 기능을 갖춘 모든 오래된

가 어떻게 컨트롤러와 경로를 코딩 할 수 있습니까? 나는 다섯 가지 기능을 모두 갖춘 if 문과 if 문 (params [: order] == 'oldest'다음에 @styles = Style.oldest와 같은)에 대해 별도의 컨트롤러를 사용해 보았습니다. 그러나 이것은 작동하거나 논리적으로 보이지 않습니다 .

+0

기존 코드, 컨트롤러, 모델, 경로를 추가하십시오. 이것이 질문에 이르게하는 것이라면 오류가 발생합니다. 그 동안 나는 그것에 대해 생각할 것이다. – holaSenor

답변

1

두 개의 사용자 지정 경로를 추가하십시오. 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 

제안 : 간단하게.

관련 문제