2013-04-04 31 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