我有一个简单的 rake 任务,从 CSV 文件导入记录并将它们保存到数据库中。
require 'csv'
namespace :import do
task :items => :environment do
CSV.foreach(Rails.root.to_s + '/public/data/items.csv', :headers => true) do |row|
@item_id = row[1]
if item_id
i = Item.find_or_create_by_item_id(@item_id)
i.update_attributes(
:item_id => @item_id,
:category => row[2],
:price => row[3],
)
i.save
end
end
end
end
当我运行它时,我收到以下错误。
rake aborted!
undefined method `save' for []:ActiveRecord::Relation
这工作正常,我还有其他 rake 任务在同一模型上使用动态查找器以相同的方式工作。我无法弄清楚发生了什么变化或导致这种情况的原因。任何想法将不胜感激。