Rails 4没有更新记录

时间:2015-02-12 21:23:29

标签: ruby-on-rails postgresql ruby-on-rails-4 activerecord

我刚刚从mongoid迁移到postgres,我显然现在正在使用ActiveRecord。我运行一个Cron工作,只是更新供应商列表中的产品但由于某种原因它不起作用

以下是代码:

        insert = CSV.foreach(tempfilename, col_sep: ',', headers: true) do |row|
          item = Product.find_or_create_by(line_item: row['line_item']) do |product|
            product.supplier = "Supplier Name",
            product.supplier_product_id = row['supplier_product_id'],
            product.supplier_link = row['supplier_link'],
            product.supplier_image_url = row['supplier_image_url']
          end
          item.save
        end

1 个答案:

答案 0 :(得分:0)

& block仅在未找到记录时执行

def find_or_create_by(attributes, &block)
      find_by(attributes) || create(attributes, &block)
    end