1

我尝试将 CSV 文件导入我的数据库。我需要该应用程序使用 CSV 文件中的确切 created_at 属性,但它不起作用。我只看到Time.now

我究竟做错了什么?

模型中的 CSV 导入代码:

  def self.import(file, current_user)
    allowed_attributes = [ "id","created_at","updated_at"]
    @current_user = current_user
    CSV.foreach(file.path, headers: true) do |row|
      energy = find_by_id(row["id"]) || new
      h1 = { "user_id" => @current_user.id }
      h2 = row.to_hash.slice(*accessible_attributes)
      h3 = h1.merge(h2)
      energy.attributes = h3
      energy.save!
    end
  end
4

1 回答 1

0

文档中:

attr_accessible(*args) public

指定可以通过批量分配设置的模型属性白名单。

Mass-assignment 只会设置此列表中的属性,要分配给其余属性,您可以使用直接编写器方法。

您需要添加attr_accessible所有您愿意更新的属性,包括created_at.

于 2013-08-27T09:22:09.763 回答