2016-08-16 2 views
0

Also meine andere Rake-Aufgabe, die die create-Optionen hat, funktioniert gut.Rake-Task undefinierte Methode erstellen

dies jedoch ein

task test: :environment do 
     ActiveRecord::Base.connection.execute("TRUNCATE Tables RESTART IDENTITY") 
     gzipped = open('csv url') 
     csv_text = Zlib::GzipReader.new(gzipped).read 
     csv = CSV.parse(csv_text, :headers=>true) 
     csv.each do |row| 
      Table.create(db information]) 
     end 
    end 

Jetzt aus irgendeinem Grund o die Aktion schaffen ausfällt (die genau das gleiche wie meine anderen Aktionen erstellen ist) I don t einen Controller für diese haben. Mein Modell ist leer, existiert aber mit der Namenskonvention dort.

Irgendwelche Ideen?

Der Fehler ist diese

NoMethodError: undefined method `create' for Table:Module 

(Tabelle als Ersatz verwendet wird, bevor ich für schlechte Praxis rief get)

+1

Wie lautet der tatsächliche Name für diese Klasse? Entspricht es deinem App-Namen? Rails gibt Ihnen einen Hinweis in Form von 'Table: Module'. Es sollte eine Klasse sein, kein Modul. Was bedeutet, dass es ein Modul mit diesem Namen gibt, das Ihre Klasse beschattet. –

+0

@SergioTulentsev Ich folge nicht, wird es bereits woanders verwendet? Ich bin sicher, ich habe es nicht woanders benutzt? –

+1

Nein, du bist dir nicht sicher. Weil Sie es offenbar woanders verwenden. –

Antwort

-1

Ich weiß nicht wirklich das größere Problem. Aber in Ihrem Code sehe ich eine fehlende [ auf dieser Linie: Table.create(db information])

Das könnte etwas damit zu tun haben?

+0

Das ist mir etwas von der Code-Löschung fehlt :) –

Verwandte Themen