2016-08-09 72 views
0

Export senden möchte ich Task_Url in der CSV-Datei zeigen, habe ich diese Abfrage für CSV verwendet -Wie Hyperlink (Task-URL) im CSV-

user_trackers = TaskTimeTracker.joins(:task).where("(task_time_trackers.created_at BETWEEN ? AND ?)",Date.current.beginning_of_month, Date.current.end_of_month) 

@trackers = user_trackers

Dies ist die CSV Methode, die ich verwendet habe -

def export_csv 
     columns = %w(Date Task Task_URL TimeSpent Log) 
     CSV.generate do |csv| 
     csv << columns 
     @trackers.each do |t| 
      csv << [t.created_at, 
        t.task.name, 

        t.time_spent, 
        t.description ] 
     end 
     end 
    end 

Dies ist das Task Model, das ich verwendet habe.

class Task < ActiveRecord::Base 
     TASK_TYPES = { bug: 'Bug', enhancement: 'Enhancement', feature: 'Feature'} 
     belongs_to :project 
     belongs_to :user 
     has_many :task_time_trackers, dependent: :nullify 
     validates :task_type,presence: true 
end 

Task_Time_Tracker Modell

class TaskTimeTracker < ActiveRecord::Base 
    belongs_to :task 
    belongs_to :user 
    validates :description,presence:true 
    validates :time_spent,presence:true 
end 

Schema Info von Task_Time_Tracker

# == Schema Information 
# 
# Table name: task_time_trackers 
# 
# id   :integer   not null, primary key 
# description :text(65535) 
# time_spent :float(24) 
# created_at :datetime   not null 
# updated_at :datetime   not null 
# task_id  :integer 
# user_id  :integer 

Projektmodell

class Project < ActiveRecord::Base 
    has_many :tasks, dependent: :destroy 
    has_and_belongs_to_many :users 
end 

Antwort

1

Diese Methode in einem Controller oder das Modell umgesetzt wird? diese

Test:

def export_csv 
    columns = %w(Date Task Task_URL TimeSpent Log) 
    CSV.generate do |csv| 
    csv << columns 
    @trackers.each do |t| 
     csv << [t.created_at, 
       t.task.name, 
       task_url(t.task), 
       t.time_spent, 
       t.description ] 
    end 
    end 
end 
+0

Ich versuchte dies und es wirft diesen Fehler - –

+0

nicht definierte Methode 'task_url‘ für –

+0

Ich habe sogar versucht tasks_url –