基本上,在我看來,rails控制檯中的哪些工作看起來不起作用 - 我有一個工作室模型,其中包含日期時間類型的「start_date」列。
我創建這種類型的對象,當我進入軌道控制檯
無法從日期時間在Rails視圖中獲取一天
Workshop.find(<id>).start_date.day
返回特定的某一天預期(例如,在日期時間的情況下,「21」「星期五,2017年4月21日17:00:00 UTC +00:00' )。
但是,在我看來,我無法使用'天'的方法。我使用的是修身的寶石,這代碼我型我秀鑑於車間:
p= workshop.start_date.day
導致此錯誤:未定義的方法'天」的零:NilClass
但代碼
p= workshop.start_date
正確顯示整個日期和代碼
p= workshop.start_date.class
顯示對象的類是:ActiveSuppo rt :: TimeWithZone
發生了什麼,Rails爲什麼說這個類是零,如何使它工作?
我想有一些記錄的start_date屬性爲'nil'。這是錯誤的原因。您可以請在視圖中添加一個條件,並檢查'workshop.start_date.day if workshop.start_date'可能這會幫助您捕獲這些錯誤。 –
我很遲鈍 - 謝謝,那就是它。我正在開發領域,並沒有打開這個驗證,所以有一個對象與此字段設置爲零 - 這不會在未來的情況下。 – bochen421
不用擔心。編碼時發生這種情況。歡呼快樂編碼。 –