在 minitest 中,我如何从数据库中查找项目(而不是固定装置定义)?
In minitest, how do I lookup an item from the database (as opposed to the fixtures definition)?
我正在使用 Rails 5 和 minitest。在 minitest 中,如何通过对象的属性之一(例如,不是对象的固定装置名称)从数据库中查找对象。在我的测试中,我有
item = items(:one)
,,, do some db manipulation to this object ...
Item.all.each do |i|
puts "#{i.inspect}"
end
updated_item = Item.find(id: item.id)
但是线
updated_Item = Item.find(id: item.id)
死于错误
ActiveRecord::RecordNotFound: Couldn't find Item with 'id'={:id=>980190962}
奇怪的是,在上面的行中,我打印了数据库中的记录,我可以看到有问题的对象以及 Rails 声称找不到的 ID ...
#<Item id: 298486374, name: "MyString", rating: 0, score: 0, created_at: "2018-01-19 20:25:05", updated_at: "2018-01-19 20:25:05">
#<Item id: 980190962, name: "Item1", rating: 1, score: 5, created_at: "2018-01-19 20:25:05", updated_at: "2018-01-19 20:25:05">
我做错了什么?如何查找更新后的对象?
find() 通过 id 查找,不需要告诉,所以:
updated_Item = Item.find(item.id)
我正在使用 Rails 5 和 minitest。在 minitest 中,如何通过对象的属性之一(例如,不是对象的固定装置名称)从数据库中查找对象。在我的测试中,我有
item = items(:one)
,,, do some db manipulation to this object ...
Item.all.each do |i|
puts "#{i.inspect}"
end
updated_item = Item.find(id: item.id)
但是线
updated_Item = Item.find(id: item.id)
死于错误
ActiveRecord::RecordNotFound: Couldn't find Item with 'id'={:id=>980190962}
奇怪的是,在上面的行中,我打印了数据库中的记录,我可以看到有问题的对象以及 Rails 声称找不到的 ID ...
#<Item id: 298486374, name: "MyString", rating: 0, score: 0, created_at: "2018-01-19 20:25:05", updated_at: "2018-01-19 20:25:05">
#<Item id: 980190962, name: "Item1", rating: 1, score: 5, created_at: "2018-01-19 20:25:05", updated_at: "2018-01-19 20:25:05">
我做错了什么?如何查找更新后的对象?
find() 通过 id 查找,不需要告诉,所以:
updated_Item = Item.find(item.id)