2017-06-12 20 views
0

私はレールが非常に新しく、テーブルをシードするのに役立つ必要があります。私は、このレールにシーディングするのに役立つ必要があります

class CreateGenre < ActiveRecord::Migration[5.1] 
    def change 
    create_table :genres do |t| 
     t.string :rock 
     t.string :rap 
     t.string :jazz 
     t.string :alternative 
     t.references :track, foreign_key: true 

     t.timestamps 
    end 
    end 
end 

class CreateTracks < ActiveRecord::Migration[5.1] 
    def change 
    create_table :tracks do |t| 
     t.string :trackname 
     t.string :artist 

     t.timestamps 
    end 
    end 
end 

ように見えるそして、ここでのモデル

class Track < ApplicationRecord 
    has_one :genre 
end 
class Genre < ApplicationRecord 
    belongs_to :Track 
end 

今私はPSQLと私の曲のテーブルをチェックするために行くときには、二つのテーブル「トラック」と「ジャンル」とその移行ファイルを持っています2つの列tracknameartistがあります。トラックのジャンルを追加したいのですが、その方法はわかりません。

私はこれをやっているとき、あまりにもジャンルをシードする方法を考え出す問題が生じています。この

data = [ 
    { 
trackname: "hell yes", 
artist: "beck" 
    }, 
    { 
trackname: "jailhouse rock", 
artist: "elvis presley" 
    } 
] 

をしました。どこに置く?助けてください。

+2

「Genre」テーブルでは何かが本当に外れているようです...どうやって使用する予定ですか? –

答えて

1

私はあなたのコードから理解して何から、私は次のことをしようとするだろう:

Track.create!(
    trackname: "hell yes", 
    artist: "beck", 
    genre_attributes: { 
    rock: "true" 
    } 
) 
0

移行を実行してTracksテーブルにgenreを追加するような音。

実行:次に

rails generate migration add_column_to_tracks genre:string 

rake db:migrateを実行します。

データベースに新しいフィールドを追加する必要があります。

関連する問題