2012-09-09 69 views
0

因此,我使用jquery數據表和列過濾擴展來對Rails項目中的頁面和過濾器表日期進行排序。關於我的表的一個不尋常的事情是,我需要將月份和日期組件分成不同的列,並允許搜索這些列上的過濾。在rails中按日期分類排序

因此,我正在尋找幫助,特別是在動態構建的ActiveRecord查詢中搜索和排序月/日期部分。

任何想法表示讚賞。

+0

我建議不要將日期部分拆分爲單獨的列。大多數數據庫都有日期函數。例如在Mysql中,你可以這樣做:'Model.order('YEAR(created_at)')'和DAY/MONTH /等。 – jdeseno

+0

對不起,只有顯示錶將顯示在不同的列中,我打算在數據庫中保留它作爲一個日期。 – user1314283

回答

1

Rails包含ActiveSupport和一大堆Date幫助器。

http://as.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Date/Calculations.html

例如,

  • 提前
  • at_beginning_of_day
  • at_beginning_of_month
  • at_beginning_of_quarter
  • at_beginning_of_week
  • at_beginning_of_year
  • at_end_of_month
  • at_en d_of_quarter
  • at_end_of_week
  • at_end_of_year
  • at_midnight
  • beginning_of_day
  • beginning_of_month
  • beginning_of_quarter
  • beginning_of_week
  • beginning_of_year
  • 變化
  • end_o f_day
  • end_of_month
  • end_of_quarter
  • end_of_week
  • END_OF_YEAR
  • LAST_MONTH
  • last_year
  • 午夜
  • 週一
  • months_ago
  • months_since
  • next_month
  • next_week
  • next_year
  • 因爲
  • 明天
  • years_ago
  • years_since
  • 昨天

基準日類也有一個很多方法:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html

例如,月份,日期和年份都可用。

+0

謝謝,我知道這些,但不認爲任何適合我的用例。我不認爲我的初始帖子是完全清楚的。我需要將結果排序在數據庫中:03/31/2000,04/01/2001,04/02/2002。我意識到你可以按datepart排序,即月(如上所述),但不知道如何連接兩個這樣的排序(或其他方式來實現相同的事情)。謝謝。 – user1314283