NoMethodError:未定义的方法`with_deleted`

时间:2019-01-28 21:57:46

标签: ruby-on-rails rubygems

我正在尝试播种数据库,但是遇到了这个错误,它告诉我with_deleted是我的seeds.rb中未定义的方法:

User.with_deleted.each(&:really_destroy!)
User.create(
  email: 'admin@example.com',
  roles: [:admin],
  password: 'abc123',
  password_confirmation: 'abc123',
)

我认为应该从paranoia宝石中定义它。谁能建议解决方法?我正在使用Rails 5.1。

我尝试了这两种方法:

@user = User.create(
      email: 'admin@example.com',
      roles: [:admin],
      password: 'abc123',
      password_confirmation: 'abc123',
    )

User.create(
   email: 'admin@example.com',
   roles: [:admin],
   password: 'abc123',
   password_confirmation: 'abc123',
)

它看起来像是可行的,但是当我在User.last做一个rails c时,我仍然得到nil

就我的act_as_paranoid文件中包含User.rb而言,这就是我所拥有的:

# acts_as_paranoid
include AddressFields
include MeAssessmentScoring

这还不够吗?但是最终,我是否可以无需参与paranoia gem就能使它正常工作?到目前为止,我上面所做的尝试没有用,当我尝试在rails c中创建用户时,我得到:

  

ActiveRecord :: RecordInvalid:验证失败:名字不能为   空白,姓氏不能空白

我运行此命令时:user = User.create!(email:'admin1@example.com', roles:'admin',password:'abc123', password_confirmation:'abc123')

1 个答案:

答案 0 :(得分:0)

我能够通过执行以下操作来启动并运行:

heroku pg:backups:capture
heroku pg:backups:download
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d thirdelementweb_development latest.dump