1
我有一個顯示某些事件的簡單日曆,這並不能給我預期的結果。下面的代碼:在Rails中查看視圖內的對象陣列:意外的行爲
<!-- 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-->
這裏的need_sowing?方法稱爲塊內:
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