- グループのメンバーを一覧表示する場合、バックエンドコードは、特定のフィールドで昇順/降順に並べ替えるために
orderおよびascパラメータを受け入れます。ascパラメータが存在し、空白でない場合は昇順、それ以外の場合は降順となります。 - グループメンバーページのフロントエンドコードも、クエリパラメータを解析してバックエンドに渡すことができるようです。フロントエンドでは
ascはデフォルトでtrueになっています。
このリンクに移動すると: https://try.discourse.org/g/trust_level_2?order=added_at&asc=、手動でテーブルヘッダーをクリックして並べ替えを切り替えることなく、TL2メンバーが追加時間で降順に並べ替えられたものを表示する直接リンクを期待します。
しかし、実際の動作は次のとおりです。TL2メンバーは追加時間で昇順に並べ替えられて表示されますが、「chevron-down」アイコンが表示されています(これは降順で表示されるべきであることを示唆しています)。
DevToolsのネットワークタブを見ると、ページは 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パラメータは文字列であるため、asc=false は params[:asc] && params[:asc].present? ロジックによって空白でないと見なされ、結果として昇順が返されます。おそらくフロントエンドコードは、URLパラメータの asc のブール値 false を空文字列に変換する必要があります。
