我相信datetime_select
是黑魔法。我真的想弄清楚的是整個1i
,2i
,3i
,4i
......多個參數的東西。具體來說,它是如何處理後端(activerecord,別的?)。訂單號後面的「我」是什麼?它是一個類型說明符?如果是的話,還有其他什麼類型可用?我讀過date_helper.rb的源代碼,它非常不透明。軌道上的紅寶石多參數屬性*真的*工作(datetime_select)
這裏是我的動力:
我已經在我的模型有一個:datetime
列,我想在通過兩個text_field
S上觀看輸入:一個日期和一個時間。他們需要驗證,合併在一起,然後存儲到日期時間列中。最終,我將使用javascript日曆將日期輸入日期字段。
那麼有人做到這一點?我嘗試使用虛擬屬性(令人難以置信的是除了基本的railscast以外沒有記錄),問題是當一個新的activerecord對象被創建並且具有nil屬性時,虛擬屬性失敗(對於nil類未定義方法strftime
,這是合理的)。
任何人有任何建議或最佳做法?謝謝!
in activerecord/base.rb [assign_multiparameter_attributes]爲需要多個構造函數參數的所有屬性類實例化對象。這通過使用這些參數在列或聚合類型對象上調用new來工作。即:written_on(1)=「2004」,written_on(2)=「6」,written_on(3)=「24」,將實例化具有Date.new(「2004」,「6」,「 「24」)。您還可以在括號中指定一個類型轉換字符,以在參數在構造函數中使用之前對其進行類型化。 Fixnum使用i,Float使用f,String使用i,數組使用a。 – 2009-09-23 19:22:16
嗨,Dean,如果你找到了自己的答案,通常的做法是「回答我自己的問題」,以便人們可以看到問題已經解決。 – nfm 2009-09-23 23:53:02