gpt4 book ai didi

ruby-on-rails - 用户在创建时存在,但实际上不在数据库中

转载 作者:行者123 更新时间:2023-11-29 13:02:56 25 4
gpt4 key购买 nike

我在当前应用程序的数据库设置方面遇到了一个奇怪的问题。

由于迁移顺利通过,但是当我尝试使用一些测试数据为数据库播种时,它说数据存在并回滚事务。

当我查询数据库以检查记录是否存在时,它返回 nil。

在这一点上,我迷失了我什至应该寻找罪魁祸首的地方。

感谢任何帮助。

seeds.rb:

User.create(first_name: 'John', last_name: 'Doe', email: 'john@doe.com', password: 'testing', is_admin: true)

rake db:seed 输出:

  ActiveRecord::SchemaMigration Load (0.5ms)  SELECT "schema_migrations".* FROM "schema_migrations"
(0.2ms) BEGIN
User Exists (1.0ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'john@doe.com' LIMIT 1
(0.2ms) ROLLBACK

用户.all :

  User Load (1.0ms)  SELECT "users".* FROM "users"
User Load (1.0ms) SELECT "users".* FROM "users"
=> []

最佳答案

看起来用户创建失败是因为某些验证错误,即 User 模型上的任何验证都禁止创建您的用户记录。

您可以做的是,更新 seeds.rb 为:

User.create!(first_name: 'John', last_name: 'Doe', email: 'john@doe.com', password: 'testing', is_admin: true) 

注意 create! 而不是 create

这样您就可以知道用户创建失败的验证。

关于ruby-on-rails - 用户在创建时存在,但实际上不在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com