2013-06-19 29 views
0

我正在尋找關於如何設計顯示待辦事項列表的周視圖的Web應用程序的建議。用於遞增/遞減待辦事項列表的周視圖的好設計?

當前佈局是一個星期幾的表格,列表中包含以下列出的項目。通過計算控制器中的標題日期,我得到了一些功能:

@week_starting = Date.today.at_beginning_of_week if @week_starting.blank? 

其他星期幾標題通過遞增@week_starting顯示。

我已經創建了單獨的實例變量,如@to_do_on_mon,@to_do_on_tue等,以顯示當天要做什麼(然後遍歷它們以列出項目)。 這裏是一個示例:

@to_do_on_mon = BatchTicket.where("Date(load_date) =?", @week_starting.strftime 

您怎麼評價這種設計提高到容易增加/減少顯示的一週並列出項目辦呢?

+0

您唯一的決議是一週?如果是這樣的話,你可以節省年份,當年的週數和一年的一天。 –

回答

1

首先,只是個人喜好,但我認爲這會使代碼更好改變的第一行是:

@week_starting ||= Date.today.at_beginning_of_week 

它的短,它更清晰。

我不知道我理解你想與Date(load_date)那裏做什麼,但既然你的ActiveSupport可用,我可能會做更多的東西可讀是這樣的:

@to_do_on_mon = BatchTicket.where date: (@week_starting + 0.days) 
@to_do_on_tue = BatchTicket.where date: (@week_starting + 1.days) 
# etc. 

或者,根據

BatchTicket.where('your date range').group_by { |b| b.date.strftime("%u") } 

將返回分爲天(1..7)數組:在你的網頁/應用的樣子,你可以,如果你需要做的是在一個查詢。

希望有幫助

+0

|| =好的建議。已經完成了。至於Date(load_date)位,這是我發現的按日期準確定位我的項目的唯一方法(http://stackoverflow.com/questions/16682526/why-is-my-model-where-returning-a -blank陣列-時-IM-肯定-有-是-匹配)。有關如何更新顯示周的任何建議? – collenjones

+0

哦,我錯過了這個問題。我不確定我是否理解「增加/減少本週」的含義,但是 - 您想顯示周視圖,然後在幾個星期之間進行分頁? – Amir

+0

我的意思是我有當前的表格,我使用@week_starting計算標題,然後增加它以顯示週二,週三等。我有兩個圖標< >,我想單擊時顯示前一個/下一個周,意思是'week_starting'必須 -/+ 7天,然後刷新頁面。我也開放使用AJAX,但認爲我會先學習如何工作。 – collenjones