2017-06-12 5 views
0

Ich bin sehr neu in Schienen und brauche Hilfe beim Aussäen meiner Tabellen. Ich habe zwei Tabellen „Spuren“ und „Genres“ und ihre Migrationsdateien aussehen wie dieseBrauchen Sie Hilfe in Rails Seeding

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 

Und hier sind die Modelle

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

Gerade jetzt, wenn ich gehe meine Tracks Tabelle psql und zu überprüfen, Es hat zwei Spalten trackname und artist. Und ich möchte Genres für die Tracks hinzufügen, aber ich weiß nicht, wie es geht?

Ich habe diese

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

Ich habe Probleme, herauszufinden, wie das Genre auch auf Saatgut, wenn ich dies tue. Wo würde ich es hinstellen? bitte hilfe.

+2

Mit dieser 'Genre'-Tabelle scheint wirklich etwas los zu sein ... wie planen Sie es zu benutzen? –

Antwort

1

Von dem, was ich aus dem Code verstehe ich versuchen würde, die folgenden:

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

Klingt wie Sie genre auf Ihre Tracks Tabelle hinzugefügt werden soll, indem Sie eine Migration ausgeführt wird.

Run:

rails generate migration add_column_to_tracks genre:string 

Dann rake db:migrate laufen.

Das sollte das neue Feld der Datenbank hinzufügen.