0

私はposts.all(先月)@% と .convert_to_(今月)今月と先月からすべてのレコードを引っ張るとposts.all @割合今月と先月のレコードをレールで引っ張る方法は?

に変換したい.covert_to_%

+0

はhttps://github.com/ankane/groupdate –

+1

異なるデシベルのは、あなたがわずかに異なる方法でこれをやらせるgroupdate宝石を確認してください。たとえば、postgresを使うと、 'Model.where(" MONTH(date_column)=?and Year(date_column)=? "、(DateTime.now -1.month).month、(DateTime.now -1.month )。年) – trh

答えて

0

あなたはこれをデータベースから行いますが、動作するものだけが必要な場合は、日付が条件の外にある場合はレコードをスキップしてforeach文を書きます。

たとえば、salesmans名とプロジェクトのステータスと日付を比較するcsvファイルに対して使用するforeachループの例を次に示します。

def pending_sales(initials, salesperson) 
     my_status = 'Pending' 
     pending = 0 
     count = 0 
     CSV.foreach(path, :encoding => 'windows-1251:utf-8') do |row| 
     salesman = row[1] 
     project_manager = row[0] 
     project_name = row[2] 
     project_city = row[3] 
     customer = row[4] 
     status = row[6] 
     bid_date = Date.strptime(row[7], '%m/%d/%Y') 
     amount = row[8].tr(',', '').to_i 
     next if salesman != initials || status != my_status || bid_date < fiscal_start 
     dollar_amount = '$' + amount.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse 
     pending = pending + amount 
     count = count + 1 
     end 
     @pending_count = count.to_s 
     @pending_amount = "$" + pending.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse 
    end 
関連する問題