- 그룹의 멤버 목록을 가져오는 백엔드 코드는 특정 필드를 기준으로 오름차순/내림차순으로 정렬하기 위해
order와asc매개변수를 받습니다.asc매개변수가 존재하고 비어 있지 않으면 오름차순으로, 그렇지 않으면 내림차순으로 정렬됩니다. - 그룹 멤버 페이지의 프론트엔드 코드도 쿼리 매개변수를 파싱하여 백엔드에 전달할 수 있는 것으로 보입니다. 프론트엔드에서
asc의 기본값은true입니다.
이 링크로 이동할 때: https://try.discourse.org/g/trust_level_2?order=added_at&asc=, 테이블 헤더를 수동으로 클릭하여 정렬을 전환하지 않고도 직접 링크로 TL2 멤버를 추가 시간 기준으로 내림차순으로 표시되기를 기대합니다.
그러나 실제 동작은 다음과 같습니다: TL2 멤버가 추가 시간 기준으로 오름차순으로 표시되지만, 내림차순으로 표시되어야 한다는 것을 암시하는 “chevron-down” 아이콘이 함께 표시됩니다:
DevTools의 Network 탭을 살펴보면, 페이지가 https://try.discourse.org/groups/trust_level_2/members.json?offset=0&order=added_at&asc=&filter= 대신 https://try.discourse.org/groups/trust_level_2/members.json?offset=0&order=added_at&asc=false&filter= 요청을 발행합니다.
모든 URL 매개변수가 문자열이므로, params[:asc] && params[:asc].present? 로직에 의해 asc=false는 비어 있지 않은 값으로 간주되어 오름차순 결과가 반환됩니다. 아마도 프론트엔드 코드가 URL 매개변수에서 asc의 불리언 false 값을 빈 문자열로 변환해야 하는 것 같습니다.
