【发布时间】:2009-01-30 12:14:44
【问题描述】:
我有一个显示一些事件的简单日历,这并没有给我预期的结果。代码如下:
<!-- Begin Calendar -->
<%= calendar(:year => @year, :month => @month, :first_day_of_week => 1) do |d|
output = []
output << render_calendar_cell(d.mday)
if d.wday == 1
@garden.plants.collect do |p|
if p.needs_sowing? (d.cweek)
output << "This week sow: #{p.name}"
end
end
end
end
%>
<!-- end calendar-->
这是需要播种的吗?块内调用的方法:
def needs_sowing? (week)
if !sow_out_week_min.blank? && !sow_out_week_max.blank?
(sow_out_week_min..sow_out_week_max).include? (week)
end
end
当循环中只检查一个工厂时,这给了我正确的行为,但如果有多个,那么除了初始之外不会显示任何输出
output << render_calendar_cell(d.mday)
(仅输出月份中的哪一天)。
谁能伸出援手让我知道我哪里可能出错了?或者获得了一些关于在循环中处理这种行为的更好方法的提示?
TIA
【问题讨论】:
标签: ruby-on-rails views models