2

我有从 CSV 更新数据库中数据的方法。

csv_text = File.read("#{Rails.root}/db/seed/books.csv")
csv = CSV.parse(csv_text, :headers => :first_row)
csv.each { |row|
row = row.to_hash.with_indifferent_access.to_hash.symbolize_keys
row.delete_if { |key, value| value.nil? }
book = Book.find_or_initialize_by_name(row[:name])
book.update_attributes!(row)

我如何检查是否将创建或更新记录或什么也没有发生?

4

1 回答 1

8

要检查是否book已更改,请执行以下操作changed?

book.changed?

要检查是否book有新记录new_record?

book.new_record?
于 2012-06-01T14:44:28.240 回答