我目前有一个名为Album
的模型has_many :songs
。我希望用户能够将歌曲从一个专辑移动到另一个专辑。在Rails控制台中乱搞,我发现了
song.album_id=2
song.save
工作正常,但是,我怀疑这是在真实应用程序中应用它的正确方法。有没有正确的方法来做到这一点?
答案 0 :(得分:1)
这里没什么不寻常的:
song.album_id=2
# or
song.album = @album
两人都做好了自己的工作。
答案 1 :(得分:1)
通过这些:
album has_many :songs
song belongs_to :album
你可以这样做:
#find your album, by params[:id] or any other means you wish
album = Album.find(params[:id])
#assign it to the song
song.album = album
通过这种方式,您可以在为其分配歌曲之前确保相册确实存在
答案 2 :(得分:1)
@album = Album.find_by_id(10)
#This is the album to move song
@song = Song.find_by_id(100)
#This is the song to be moved
@song.album = @album
@song.save