2016-10-08 2 views
1

レールに標準のシードファイルを作成し、データベースをシードする方法を知っています。しかし、私は多くのページのコンテンツを作成するために使用したエディタを持っています。コンテンツフィールドは "テキスト"タイプで、HTMLのフルページを含んでいます。このデータをエクスポートして、シードファイルを作成したいと考えています。レールにコンテンツテキストをシードするのに最適な方法4

私のシードファイルを作成する最良の方法に関するアイデアはありますか?

たとえば、別のファイルからコンテンツを参照する必要がありますか?テキストを1つのシードファイルに保存するだけですか?推薦の例を示すことは可能でしょうか?

+0

メタデータを保存する必要がありますか、1つのテキスト属性を持つモデルを作成しますか? – mreq

+0

私はテキスト属性に加えて他の属性を持っています – user2012677

答えて

1

あなたは複数の属性を持っているとのデータがDBにすでにある場合、あなたはseed_dump宝石を使用することができます別のオプション:に次のように生成されます

rake db:seed:dump 

を実行し、既存のDB与えhttps://github.com/rroblak/seed_dump

そうにseed.rb

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

あなたはそれを読んで、あなたのデシベルを播種後、コンテンツを含むファイルを持っていることができます。

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

そしてもちろん、あなたが複数のアイテムを持っている場合は、右とそれらの上に、単にループをシードする必要がありますファイル名、または特定のディレクトリ内のすべてのファイルに適用されます。

+0

私は他の属性を持っていますが、それらをハッシュまたは何かとしてファイルに入れますか? – user2012677

関連する問題