2013-04-04 57 views
0

我進行選擇選擇RoR的地圖陣列與來自數據庫

m_repeats = Event.all 

然後我需要改變shedule(它是日期字段)中的每個元素。我需要設置的年份和月份的電流(日期)

我嘗試這樣做:

m_repeats.map{ |elem| elem.schedule.year = date.year, elem.schedule.month = date.month } 

但我得到的錯誤:

undefined method `month=' for Wed, 03 Apr 2013:Date 

如何我可以通過地圖改變他們?

回答

1

Date類沒有'month ='方法。我想這會工作,

m_repeats.map{ |elem| elem.schedule = Date.new(Date.today.year, Date.today.month, elem.schedule.day)} 
+0

現在,我得到引發ArgumentError在EventsController#指數 無效日期 – Gabi 2013-04-04 12:44:51

+0

在一個月內不會有31天設置31? – Frans 2013-04-04 12:53:25

+0

如果我設置mr = m_repeats.map {| elem | elem.shedule = Date.new(date.year,date.month,date.day)} 2013年4月1日,星期一是未定義的方法'shedule':日期。所以我認爲問題是我不能在映射中使用字段的名稱? – Gabi 2013-04-04 13:04:25