所以我有一個對象在我的數據庫中的日期字段,有時除外,它將爲零。有沒有在視圖中的一種方式,我可以顯示這是一個字符串值。 TBA可能是什麼?使用日期時,我可以用零值做什麼?
回答
<%= @event.date || "TBA" %>
應該這樣做。
在回答您的意見,是的,你可以這樣做的模型,但它是一個壞主意。爲什麼?
首先,它是關於數據的演示文稿,以便爲這個原因,它所屬的視圖。
其次,它可以打破的東西。如果你在模型中做過,@event.date
有時會返回一個日期,有時會返回一個字符串。如果您撥打@event.date.hour
和date
是,會發生什麼情況?你會得到一個錯誤。唯一的解決辦法是到處檢查它,這將是可怕的。
如果你真的打算做了很多,你可以創建application_helper.rb
一個輔助方法,可能是這個樣子:
def date_or_tba(date)
date || "TBA"
end
所以,以後就可以在您的視圖寫:
<%= date_or_tba @event.date %>
這是不是要少得多打字但必須限制使用字符串「TBA」的只有一個地方不小的優勢 - 這意味着如果你需要改變它(I18N的目的,例如) - 這是真的很簡單。
太棒了。這正是我所追求的。有沒有辦法在我的模型中做到這一點,所以如果我在任何地方調用@ event.date,它會顯示爲「TBA」? – Synthesezia 2012-04-18 14:26:24
你可以,但我會強烈反對,因爲它是關於演示,所以應該在視圖中。我會詳細解釋我的答案。 – Russell 2012-04-18 14:30:28
好的,我明白爲什麼現在這是一個壞主意。添加一個幫手似乎是要走的路。謝謝! – Synthesezia 2012-04-18 14:53:35
- 1. 我不能用keytool做什麼,我可以用OpenSSL做什麼?
- 2. 我可以使用POCO做什麼?
- 3. 我可以使用該scrollviewer做什麼?
- 4. C#日期時間:什麼「日期」使用時,我只使用「時間」?
- 5. Zend日期給我零,爲什麼?
- 6. 我們可以使用UCWA API(Lync)做什麼?以及我們無法使用UCWA API做什麼?
- 7. 我什麼時候可以使用Task.Yield()?
- 8. 我什麼時候可以使用AppDomain?
- 9. 什麼是日期&&新日期(日期)在做什麼?
- 10. R的class.ind()函數做什麼?我什麼時候可以使用它?
- 11. 爲什麼當我在primefaces中使用fileupload時,我可以做ajax調用?
- 12. Komodo Macro可以做什麼,如果可以,我該怎麼做?
- 13. 你無法用Angular.js做什麼,你可以用jQuery做什麼
- 14. 你可以用grep來做什麼,你可以用egrep做什麼?
- 15. 我怎麼會做出什麼日期和時間
- 16. 如何在unix時間戳中轉換我的日期值,以便我可以使用php的日期函數?
- 17. 當我用完AppEngine上的id時,我可以期待什麼?
- 18. 什麼是web.xml文件,我可以用它做什麼?
- 19. 我可以使用我的應用以外的plist文件做什麼?
- 20. 當heroku顯示以下日誌時,可以做些什麼?
- 21. 使用Oracle零日期
- 22. 這是做什麼用的? NVL(M-日期),以炭(SYSDATE)
- 23. 什麼是BigInteger,我們什麼時候可以使用它?
- 24. 我們還可以使用Android M的指紋API做什麼?
- 25. 使用jdbcTemplate,我可以做些什麼來測試連接性?
- 26. 我怎麼可以使用mysql日期更大的順序?
- 27. 我在做什麼錯?分鐘(日期),用戶組
- 28. 我怎麼可以做一些動作時使用JavaFX
- 29. 我可以用Windows 8開發者許可證來做什麼?
- 30. 我需要使用什麼Dos interupt輸出時間和日期?
<%= [email protected]? ? @date:「TBA」%> – 2012-04-18 17:32:52