从 CSV 文件创建设计用户 - Rails - PG

Creating devise users from a CSV file - Rails - PG

我收到了一个包含电子邮件地址和密码的 CSV 文件。

我的任务是浏览此 CSV 文件并使用 gem 设计创建用户。

您可能想知道为什么我会收到别人的电子邮件和密码(我也是),但我被告知不用担心。

我的 csv 文件如下所示:

Email,Password,Password_confirmation,,
email1@email.com ,password1,password1,,
email2@email.com ,password2,password2,,
email3@email.com ,password3,password3,, 

我在 seeds.rb 文件中写了以下代码:

require 'csv'
CSV.foreach("db/fixtures/users.csv", :col_sep => ",", :headers => true) do |row|
User.create(email: row['email'], password: row['password'], password_confirmation: row['password_confirmation'])
end

我 运行 rails db:seed 创建用户,但没有任何反应,也没有错误消息。

欢迎任何支持。

首先,将带有实际密码的文件置于版本控制之下并将其导入 seeds.rb 是一个非常糟糕的主意。为此目的添加一个 rake 任务会更好,接受 csv 文件路径作为参数并在合适的环境中执行一次。

关于代码,CSV 导入中的 headers 是区分大小写的,因此如果您通过 row['Email']row['Password'] 等获取行值,它会起作用。 另外,请确保填写这些字段足以节省用户,您的特定模型中可能还有一些其他必填字段。