我有一个显示一些事件的简单日历,这并没有给我预期的结果。这是代码:
<!-- 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