2016-10-08 5 views
1

Ich weiß, wie man eine Standard-Seed-Datei in Rails erstellt und meine Datenbank seed. Allerdings habe ich einen WYSIWYG-Editor, mit dem ich viele Seiten Inhalt erstellt habe. Das Inhaltsfeld ist ein "Text" -Typ und enthält eine vollständige HTML-Seite. Ich werde diese Daten exportieren und möchte damit eine Seed-Datei erstellen.Die beste Methode, um Inhaltstext in Rails zu säen 4

Haben Sie Ideen, wie Sie meine Seed-Dateien am besten erstellen können?

Zum Beispiel, sollte ich einen Verweis auf den Inhalt von separaten Dateien erstellen? Oder soll ich den Text einfach in einer Seed-Datei behalten? Wäre es möglich, ein Beispiel für eine Empfehlung zu zeigen?

+0

Müssen Sie einige Metadaten speichern, oder erstellen Sie ein Modell mit einem einzelnen Textattribut? – mreq

+0

Ich habe andere Attribute zusätzlich zu dem Text-Attribut – user2012677

Antwort

1

Eine weitere Option, wenn Sie mehrere Attribute und die Daten bereits in der DB haben, können Sie seed_dump gem verwenden können: https://github.com/rroblak/seed_dump

so gegeben eine bestehende DB, Lauf

rake db:seed:dump 

in den folgenden produzieren die :

Product.create!([ 
    { category_id: 1, description: "Long Sleeve Shirt", name: "Long Sleeve Shirt" }, 
    { category_id: 3, description: "Plain White Tee Shirt", name: "Plain T-Shirt" } 
]) 
User.create!([ 
    { password: "123456", username: "test_1" }, 
    { password: "234567", username: "test_2" } 
]) 
2

können Sie haben eine Datei, die den Inhalt enthält, und dann liest sie gerade und Impfen Ihre db:

file_content = File.read('path to file with extension'); 
MyModel.create(text: file_content); 

Und natürlich, wenn Sie mehrere Elemente haben müssen Sie auf Seed-, nur eine Schleife über sie mit der rechten Dateiname oder nach allen Dateien in bestimmten Verzeichnissen.

+0

Wenn ich andere Attribute habe, lege ich sie in die Datei als Hash oder etwas? – user2012677

Verwandte Themen