레일즈 콘솔을 사용해 순서를 재배열할 수 있다고 생각합니다. 이름을 타이핑할 때 오타가 생기기 쉬우므로, 필드를 ID로 입력하는 방식을 선택했습니다.
ids_in_order = [3, 7, 8, 5, 1, 2]
ids_in_order.each_with_index do |id, index|
UserField.find(id).update!(position: index)
end
레일즈 콘솔을 사용해 순서를 재배열할 수 있다고 생각합니다. 이름을 타이핑할 때 오타가 생기기 쉬우므로, 필드를 ID로 입력하는 방식을 선택했습니다.
ids_in_order = [3, 7, 8, 5, 1, 2]
ids_in_order.each_with_index do |id, index|
UserField.find(id).update!(position: index)
end
그렇게 생각하지는 않지만, 최근 사용자 카드와 프로필 페이지에서 커스텀 필드의 원래 표시를 숨긴 후 다시 렌더링하는 테마 컴포넌트를 작성한 적이 있습니다. 이 과정에서 일부 필드는 HTML 안전하도록 처리할 수도 있습니다(사용자가 편집할 수 없는 커스텀 필드에 API를 통해 추가 정보를 넣는 경우입니다). 같은 아이디어를 커스텀 필드에 순서 필드를 추가하는 데 사용할 수 있다고 생각합니다. 이를 통해 카드와/또는 프로필에서 필드가 표시되는 순서를 변경할 수 있습니다.
기존 메서드를 사용하여 사용자 필드를 재정렬할 수 있다고 생각합니다. 위치를 변경할 때마다 메뉴를 다시 열어야 하는 점은 다소 비실용적입니다. 여러 위치를 이동할 때 이 부분은 다소 번거로울 수 있습니다.
하지만 버튼이 항상 표시되도록 하거나, 상단에 “재정렬 모드” 체크박스를 두어 메뉴 밖에서도 버튼이 보이도록 하는 컴포넌트를 도입하면 이미 사용자 경험을 개선할 수 있을 것입니다.
아. 재밌네. 그래. 오. 내 아이디어보다 훨씬 낫네. ![]()
커스텀 필드를 하나 만들었고, 이를 검색 가능하도록 설정했습니다. 그러나 사용자 페이지 /u의 유일한 검색 필드에는 "사용자 이름으로 필터링"이라고만 표시됩니다. 커스텀 필드의 내용을 검색해도 결과가 표시되지 않습니다.
목록에서는 값이 보입니다(커스터마이저에서 해당 열을 활성화했기 때문이죠). 따라서 해당 값이 명확히 존재한다는 것을 알 수 있습니다.
무엇을 잘못하고 있을까요?
이상하게도, 커스텀 필드의 값은 링크이며, 예를 들어 u?cards=no&name=Female&order=likes_received와 같습니다. 이 링크를 클릭하면 name 필드에서 해당 값으로 검색이 실행됩니다. 그리고 아무것도 반환되지 않습니다.
해당 필드의 설정은 다음과 같습니다:
또한 (이것이 단서인지 모르겠지만) 해당 커스텀 필드 열로 정렬할 때, 오름차순이든 내림차순이든 항상 빈 필드를 가진 사용자(서로 다른 사용자들)가 목록 상단에 있습니다. 이 필드에 내용이 있는 사용자는 소수인데, 빈 필드를 가진 사용자들은 모두 목록의 상단 또는 _하단_에 모여 있을 것이라고 예상했는데, 실제로는 양쪽 모두에 분포되어 있습니다.