我有一個數據庫架構一樣,紅寶石DataMapper的不能保存到數據庫
DataMapper.setup :default, "sqlite://#{Dir.pwd}/image.db"
class Image
include DataMapper::Resource
property :id , Serial
property :url , String,unique: true
property :desc , String,unique: true,default: "empty"
end
DataMapper.finalize.auto_upgrade!
然後,我有這樣的
links.each do |link|
puts link
if Image.all(:url=>link).empty? == true
img=Image.create(:url => link)
puts "Cannot save to database "if img.saved? == false
end
end
我想添加一個鏈接一個循環時,它已不在數據庫中。我運行該腳本,並始終得不到保存到dabase。我究竟做錯了什麼?謝謝你的幫助。 編輯:我添加到我的代碼
DataMapper::Logger.new($stdout, :debug)
,也沒有插入查詢只選擇。
現在感謝您的幫助,它完美的工作 – John 2011-04-23 14:05:52
您可以要求[Datamapper](http://datamapper.org/docs/create_and_destroy.html)在錯誤時引發異常:'Image.raise_on_save_failure = true' – 2012-01-11 06:40:38