Frage

Ich versuche, aus Rails Motoren durch einen classifieds Motor schaffen, in dem Benutzer anzeigen / post / antworten zu verkaufen.

Die Hauptanwendung enthält Code für die Benutzerauthentifizierung und Profile, während es ein Motor ist, die ich geschaffen habe, die mit der classifieds Funktionalität beschäftigen.

Jetzt möchte ich für die Anzeigen-Engine einige Beispieldaten in die Datenbank hinzuzufügen. Also habe ich eine Harke Datei namens 'sample_classifieds_data.rake' in 'vendor / plugins / Kleinanzeigen / lib / Aufgaben' und ich hinzugefügt, um die yml Dateien in 'vendor / plugins / Kleinanzeigen / lib / Aufgaben / sample_classifieds_data'

Der Code der Rake-Datei und einer Probe yml Datei finden Sie hier: http: //gist.github .com / 216.776

Das Problem ist jetzt, dass, wenn ich die Rake-Task ausführen, wird kein Fehler ausgelöst wird, aber die Werte sind nicht in der Datenbank gefüllt zu werden.

Irgendwelche Ideen? BTW, es ist Entwicklungsumgebung und die Datenbank ist die Entwicklung Datenbank.

lief ich eine ähnliche Rake Aufgabe Beispielbenutzer in der Datenbank zu füllen, die funktionierte. die Position dieser Rake-Datei 'sample_data.rake' wurde in 'lib / Aufgaben' befindet.

War es hilfreich?

Lösung

Ihre Aufgabe sieht gut aus. Über das einzige, was Ihre Aufgabe still zu scheitern verursachen würde, ist, dass die Datei auf Fixture.new Sie vorbei nicht auf eine yml oder csv-Datei nicht zeigen.

Überprüfen Sie durch die Put-Anweisung Modifizieren Sie den vollständigen Pfad der Datei importiert zu drucken und vergleichen, was er druckt gegen die Verzeichnisstruktur.

Zum Beispiel werden die Dinge nicht still, wenn Ihre Befestigung Dateien mit einem Großbuchstaben beginnen? Categories.yml statt categories.yml

Andere Tipps

In Schienen Kante, können Sie die rake db:seed Funktion verwenden, Daten zu Ihrer Basis hinzuzufügen. Anbieter verpflichten .

Die Verwendung ist ziemlich einfach.

Erstellen Sie eine db/seeds.rb Datei.
Und setzen, was Code Sie Ihre Datenbank impfen wollen in es.

Zum Beispiel:

Category.create!(:name => 'My Category')
Country.create!(:name => 'Cassoulet Land')

Und wenn Sie Ihre Datenbank impfen möchten, können Sie eine rake db:seed tun

Wenn aus irgendeinem Grund Sie nicht wünschen, Kante zu verwenden (die in einer Produktionsumgebung verständlich wäre), können Sie die Seed Fu Plugin, welches ganz funktioniert der Trick für Sie.

Der db: Samen Aufgabe wurde in Rails 2.3.4 hinzugefügt. So dass keine Notwendigkeit laufen Ränder.

http: //weblog.rubyonrails .org / 2009 / 04.09 / ruby-on-rails-2-3-4

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top