如何使用控制台在 rails 项目的 ruby 中列出设计用户?
How can I list devise users in a ruby on rails project using the console?
我在 rails 项目上有一个 ruby,我正在使用 devise 进行用户身份验证。我有什么方法可以使用 rails 控制台通过电子邮件检查帐户是否存在?如果没有——我有没有办法在控制台中列出应用程序上的所有用户(类似于我可以列出数据库模型的所有实例的方式)?
我有一个邮箱列表,我想知道是否有对应的账户有这样的邮箱。
您可以 运行 在您的 Rails 控制台中查询数据库,就像在您的控制器中一样。
假设您有一个具有 email
属性的 User
模型,并且您要检查的电子邮件位于 emails
变量中,那么您可以 运行 Rails 控制台中的以下几行:
emails = %w[foo@example.tld bar@example.tld]
User.where(email: emails).order(:email).pluck(:email)
这将 return 在数据库中找到的所有电子邮件。或者
emails = %w[foo@example.tld bar@example.tld]
found_emails = User.where(email: emails).order(:email).pluck(:email)
emails - found_emails
return 数据库中未找到的所有电子邮件。
我在 rails 项目上有一个 ruby,我正在使用 devise 进行用户身份验证。我有什么方法可以使用 rails 控制台通过电子邮件检查帐户是否存在?如果没有——我有没有办法在控制台中列出应用程序上的所有用户(类似于我可以列出数据库模型的所有实例的方式)?
我有一个邮箱列表,我想知道是否有对应的账户有这样的邮箱。
您可以 运行 在您的 Rails 控制台中查询数据库,就像在您的控制器中一样。
假设您有一个具有 email
属性的 User
模型,并且您要检查的电子邮件位于 emails
变量中,那么您可以 运行 Rails 控制台中的以下几行:
emails = %w[foo@example.tld bar@example.tld]
User.where(email: emails).order(:email).pluck(:email)
这将 return 在数据库中找到的所有电子邮件。或者
emails = %w[foo@example.tld bar@example.tld]
found_emails = User.where(email: emails).order(:email).pluck(:email)
emails - found_emails
return 数据库中未找到的所有电子邮件。