2014-02-22 27 views
0

我想將默認時間從現在起設置爲2小時。所以我寫了這個和平的代碼:沒有將ActiveSupport :: TimeWithZone隱式轉換爲Integer

<%= f.datetime_select :starts_at, :default => { :hour => 2.hours.from_now, :minute => 0 }, :order => [:day, :month, :year] %> 

我得到了一個錯誤:

no implicit conversion of ActiveSupport::TimeWithZone into Integer 

回答

2

2.hours.from_now產生一個ActiveSupport :: TimeWithZone對象,但小時期望一個Integer。

:hour => 2.hours.from_now.hour 

我試過這個,它對我來說工作正常。你有沒有驗證你的模型導致它失敗?

此外,由於您正在設置分鐘變量,因此這不會給您準確的2小時。

1

你有沒有試過用?

:hour => 2.hours.from_now.hour 

我編輯是因爲你需要絕對小時。

+0

是的。我也試過這個。我有錯誤:參數超出範圍 – MikeAndr

相關問題