2017-06-12 84 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和檢查我的曲目表,它有兩列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

聽起來像是你想通過運行遷移添加genreTracks表。

運行:

rails generate migration add_column_to_tracks genre:string 

然後運行rake db:migrate

這應該將新字段添加到數據庫。