그래서 데이터베이스에 날짜 필드가있는 개체가 있습니다. 가끔은 제외됩니다. 보기에 문자열 값으로 표시 할 수있는 방법이 있습니까? 아마도 TBA 같은 것이 있을까요?날짜를 사용할 때 nil 값으로 무엇을 할 수 있습니까?
답변
<%= @event.date || "TBA" %>
해야합니다.
귀하의 의견에 따라 예, 모델에서이 작업을 수행 할 수 있지만 좋지 않습니다. 왜?
우선, 데이터를 표시하는 것이므로 그 이유 때문에 뷰에 속합니다.
둘째, 문제가 발생할 수 있습니다. 모델에서 수행 한 경우 @event.date
은 날짜와 때로는 문자열을 반환하는 경우가 있습니다. @event.date.hour
및 date
을 "TBA"
이라고 부르는 경우 어떻게됩니까? 오류가 발생합니다. 유일한 수정은 사방에 그것을 검사하는 것이고, 그것은 끔찍할 것이다.
def date_or_tba(date)
date || "TBA"
end
그래서 당신이 다음보기에서 작성할 수 있습니다 :
<%= date_or_tba @event.date %>
당신이 정말로가는 경우
는 다음과 같이 보일 수application_helper.rb
에서 도우미 메서드를 만들 수 그에게 많은 일을해야합니다
타자를 치는 것이 적지 만 문자열 "TBA"의 사용을 한 곳으로 제한하는 이점이 있습니다. 즉, 변경해야하는 경우 (예를 들어, 목적으로) 정말 쉽습니다.
굉장합니다. 그게 바로 내가 한 일이야. 내 모델에서이 작업을 수행 할 수있는 방법이 있나요? @ event.date를 "TBA"로 표시하면 어디에서든지 호출 할 수 있습니까? – Synthesezia
당신은 할 수는 있지만, 강연을 강력히 권고합니다. 나는 내 대답에 대해 자세히 설명 할 것이다. – Russell
좋아요, 왜 그렇게 나쁜 생각인지 이해합니다. 도우미를 추가하는 것은 갈 길과 같습니다. 감사! – Synthesezia
- 1. POCO는 무엇을 사용할 수 있습니까?
- 2. NSNumberFormatter가 nil 값으로 실패 함
- 3. JavaScript는 무엇을 할 수 있습니까?
- 4. #if로 무엇을 할 수 있습니까?
- 5. System.DirectoryServices.Protocols.ExtendedRequest로 무엇을 할 수 있습니까?
- 6. AppleScript로 무엇을 할 수 있습니까?
- 7. EJB로 무엇을 할 수 있습니까?
- 8. 씨앗으로 무엇을 할 수 있습니까?
- 9. 웹킷은 무엇을 할 수 있습니까?
- 10. KVC를 원시 값으로 사용할 수 있습니까?
- 11. MySQL을 위해 무엇을 사용할 수 있습니까?
- 12. HMVC 아키텍처는 무엇을 사용할 수 있습니까?
- 13. eval() 대신 무엇을 사용할 수 있습니까?
- 14. 시스템 날짜를 사용할 때 논리 오류가 발생했습니다.
- 15. IP_HDRINCL을 사용할 때 무엇을 기입해야합니까?
- 16. 배열의 객체를 사전의 값으로 대체하는 데 NSPredicates를 사용할 수 있습니까?
- 17. setScaleX/setScaleY로 무엇을 할 수 있습니까?
- 18. 아래 매크로는 무엇을 사용할 수 있습니까?
- 19. std :: move() 대신 무엇을 사용할 수 있습니까?
- 20. MVC에서 MessageBox.Show를 바꾸려면 무엇을 사용할 수 있습니까?
- 21. 날짜를 삽입 할 때
- 22. to_json은 nil 값으로 속성을 건너 뜁니다.
- 23. 루비 보석은 무엇을 할 수 있습니까?
- 24. 함수를 호출 할 때 &&는 무엇을 설명해 줄 수 있습니까?
- 25. Text = NULL 일 때 무엇을 할 수 있습니까?
- 26. neo4j가 UnderlyingStorageException을 보낼 때 나는 무엇을 할 수 있습니까?
- 27. WPF - 키보드로 날짜를 입력 할 수 있습니까?
- 28. C# -이 XML로 무엇을 할 수 있습니까?
- 29. Subversion은 브라우저에서 무엇을 할 수 있습니까?
- 30. SQL Server는 날짜를 직접 지정하는 대신 로컬 변수를 사용할 때 영원히 처리 할 수 있습니까?
<% = [email protected]? ? @ 날짜 : "TBA"%> –