這可能是非常簡單的事情,但我不能爲了我的生活得到這個工作。出於某種原因,自動保存實際上並不是自動保存基礎模型。無法獲取Rails:自動保存選項在模型上工作
這裏是我的架構:
create_table :albums do |t|
t.string :title
t.text :review
t.timestamps
end
create_table :songs do |t|
t.integer :album_id
t.string :name
t.integer :length
end
create_table :cover_arts do |t|
t.integer :album_id
t.integer :artist
end
這裏是我的模型:
class Album < ActiveRecord::Base
has_many :songs, :autosave => true
has_one :cover_art, :autosave => true
end
class CoverArt < ActiveRecord::Base
belongs_to :album
end
class Song < ActiveRecord::Base
belongs_to :album
end
當我做在IRB以下與封面的專輯已在數據庫:
a = Album.find(1)
a.title = "New title"
a.cover_art.artist = "New Artist"
a.save
它更新專輯記錄而不是CoverArt記錄。我究竟做錯了什麼?
對不起,我沒有把上面的信息留下 - 我其實也是這樣做的。所以這也不是問題 - 我編輯了我的帖子以澄清。 – mrjake2 2010-01-16 03:33:39
也許你可以包含你在控制檯中獲得的輸出? – tfwright 2010-01-16 03:35:13
嗨弗洛伊德,我在控制檯得到的唯一輸出是一個返回值爲「真」的保存。查看development.log文件,這是因爲相冊對象已成功保存。但是,cover_art對象不是。它根本不會顯示在日誌文件中。所以不幸的是,在控制檯或日誌文件中沒有錯誤消息來表明問題可能是什麼。 – mrjake2 2010-01-17 04:59:44