2013-08-06 2 views
0

아래 콘트롤러에서 최신 날짜순에서 가장 오래된 날짜 순으로 설문 조사 목록을 주문하기로되어있는 스 니펫이 있습니다.레일즈가 컨트롤러에서 작동하지 않습니다.

'desc'부분을 추가하거나 제거 할 때 어떤 이유로 든 정렬 순서가 변경되지 않습니다. 나는 레일 콘솔에서 일부

Survey.all.order('created_at') 

Survey.all.order('created_at desc') 

빠른 검사를 수행하고이 순서는 예상대로 작동합니다. 그래서이 스 니펫의 어딘가에 문제가있을 것입니다.

답변

1

당신이 있어야합니다

@surveys = @surveys.order('created_at DESC') 

또는 :

@surveys = @survey_type.surveys.order('created_at DESC') 

이 문제가 당신이 ActiveRecord::Relation 순서와 범위의 인스턴스로 @surveys를 설정하지 않기 때문에.

+0

아, 비 할당 - 얼마나 아마추어. – Lee

+1

FWIW를 발견 한 또 다른 문제점은 DataTables를 사용하면 첫 번째 열을 기반으로 데이터를 정리할 수 있으며 이와 유사한 문제가 혼동 될 수 있다는 것입니다 – Lee

관련 문제