내 테이블에 first_name, middle_name 및 last_name 필드가 있습니다. 나는 Aplhabetical 순서에있는 First_name Middle_name Last_name 같이 보여주고 싶다. 일부 레코드의 경우 first_name이 비어있을 수 있습니다. 일부 레코드의 경우 last_name이 비어있을 수 있습니다. 일부 레코드의 경우 middle_name이 비어있을 수 있습니다. first_name blank가 middle_name 및 last_name을 표시해야하는 경우, middle_name 공백은 성과 이름이 필요하면 last_name 공백은 첫 번째 및 중간 이름을 표시해야합니다. 마지막에 나는 알파벳순으로 목록을 보여주고 싶다. 어떻게이 문제에 접근하고 싶습니까?Howe to do ruby
-3
A
답변
0
가능한 해결책은 귀하의 경우입니다.
먼저 non blank
속성을 감지합니다 :
class YourModel < ActiveRecord::Base
def representation
[first_name, middle_name, last_name].detect{ |r| r.present? }.downcase
end
end
가져 오기 제품 :
@objects = YourModel.all
정렬 개체 :
@objects.sort! { |a,b| a.representation <=> b.representation }
를
방법 present?
는 Rails 2.2.1
버전부터 사용할 수 있습니다.
http://apidock.com/rails/v2.2.1/Object/present%3F
따라서 의견의 토론 : present?
는 !blank?
과 동일합니다.
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 19
def present?
!blank?
end
blank?
는 empty?
의 별명입니다.
def empty?
all? { |k, v| v && v.empty? && !v.is_a?(String) }
end
관련 문제
- 1. php/ajax to do list
- 2. Ruby Do 반복 및 반복
- 3. To-Do 및 Git 관련 문제 추적하기
- 4. Ruby on Rails 3 .each do 문제
- 5. Vim과 Ruby - "do"와 "end"를 일치합니까?
- 6. Ruby to Actionscript3 Bytecode
- 7. Ruby to Groovy
- 8. Ruby to Javascript 인수
- 9. Ruby to Python bridge
- 10. MKAnnotationView do do nothing
- 11. Ruby Hash & Array to XML
- 12. zend resources.frontController.baseUrl do t do
- 13. Do not do. MVVM의 Valueconverters
- 14. "do Application.Run (form)"문장에서 "do"
- 15. 오라클 SQL 그렇다면 다음과 같이하십시오. do else do do else
- 16. popup 동적 조치 do actions do
- 17. TO-DO 작업에 경고하는 사용자는 날짜와 시간이 db에 저장됩니다.
- 18. Vtiger : To Do 이벤트를 추가 할 수 없습니다.
- 19. How to do ASP.NET MVC에서 권한 부여 리디렉션
- 20. 스프링 웹 플로우 do nothing do
- 21. JSF 2.0 commandButton do nothing do
- 22. 제출 양식에 do do two things submit
- 23. Ruby to Python 용 모듈을 이식하는 방법
- 24. Ruby on Rails to Visual studio
- 25. C++ std :: string to Ruby VALUE
- 26. Ruby/Rails에서 Word to PDF로 변환 하시겠습니까?
- 27. ruby regex to remove/from string
- 28. 깨진 Do/While 루프
- 29. Rails3과`cd somehwere && do something`
- 30. CSS - How do to do : CSS에서 "한 번만의 CSS 표현"? (예 : IE의 경우 최대 높이/최대 너비)
일반 Ruby 또는 RubyOnRails (귀하의 테이블은 ActiveRecord 클래스로 모델링 됨)에 대해 이야기하고 있습니까? –
예 내 테이블이 ActiveRecord 클래스로 모델링되었습니다 – vinothini
알파벳 순서는 무엇을 기준으로합니까? –