我对rails非常陌生,需要帮助播种我的桌子。我有两个表“轨道”和“流派”,他们的迁移文件看起来像这样
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并检查我的track表时,它有两列trackname
和artist
。我也希望为曲目添加类型,但我不知道该怎么做?
我做了这个
data = [
{
trackname: "hell yes",
artist: "beck"
},
{
trackname: "jailhouse rock",
artist: "elvis presley"
}
]
当我这样做时,我在弄清楚如何播种这种类型时遇到了问题。我会把它放在哪里?请帮忙。
答案 0 :(得分:1)
根据我的理解,我会尝试以下内容:
Track.create!(
trackname: "hell yes",
artist: "beck",
genre_attributes: {
rock: "true"
}
)
答案 1 :(得分:0)
您希望通过运行迁移将genre
添加到Tracks
表中。
运行:
rails generate migration add_column_to_tracks genre:string
然后运行rake db:migrate
。
那应该将新字段添加到数据库中。