gpt4 book ai didi

ruby - 如何在 Rails 4 中将数据导入到多个模型中?

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:36 24 4
gpt4 key购买 nike

我对 Ruby 和 Rails 框架还很陌生(但我对 PHP 有很好的经验)。所以我的问题可能看起来很愚蠢。

我有音乐数据库和几个模型,如ArtistAlbumSong。歌曲属于 ArtistAlbum。很明显。

我的 CSV 看起来像这样:

Artist,Album,Song,Price,Url
"Roxette","Look Sharp!","Listen to Your Heart",1.99,"http://en.wikipedia.org/wiki/Roxette"

Song、Price、Url 存储在 Song 模型中。

数据结构:

Artist
- id
- name

Album
- id
- name

Song
- artist_id
- album_id
- name
- price
- url

模型:

Artist
has_many :songs

Album
has_many :songs

Song
belongs_to :artist
belongs_to :album

我已经找到了 Roo 并观看了关于 Roo 的 Railscasts。我可以将数据导入一个模型。但是我不明白如何同时将数据导入3个模型并避免重复。

另外,我想知道如何更新歌曲的价格和网址,何时会再次上传相同的歌曲。

请解释或展示如何处理多模型数据导入。

我为语法错误道歉,英语不是我的母语。

最佳答案

class Artist
has_many :albums
has_many :songs

class Album
has_many :songs
belongs_to :artist

class Song
belongs_to :album
belongs_to :song

当您遍历 PDF 时...

artist = Artist.find_or_create_by(name: artist_name)
album = Album.find_or_create_by(name: album_name, artist_id: artist.id)
album.songs << song = Song.create(name: song_name, price: song_price, url: song_url)
album.save
artist.songs << song
artist.save

关于ruby - 如何在 Rails 4 中将数据导入到多个模型中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com