ruby-on-rails – 如何防止Rails Console在db事务上立即执行回滚
发布时间:2020-12-17 02:31:26 所属栏目:百科 来源:网络整理
导读:我是rails的新手,我在控制台遇到了一些麻烦.我想将记录添加到Users表并测试一些功能.但是,每次执行User.create或类似功能时,它都会成功完成,然后立即回滚.如何防止立即回滚? 我不是沙箱模式. 以下是我在尝试创建用户时在控制台中获得的输出.它表示用户存在,
我是rails的新手,我在控制台遇到了一些麻烦.我想将记录添加到Users表并测试一些功能.但是,每次执行User.create或类似功能时,它都会成功完成,然后立即回滚.如何防止立即回滚?
我不是沙箱模式. 以下是我在尝试创建用户时在控制台中获得的输出.它表示用户存在,然后立即回滚事务.然后我运行User.all只是为了表明事务确实被回滚. >>> User.create(first_name: "derek",last_name: "harrington",email: "derek@gmail.com") (0.1ms) begin transaction User Exists (0.2ms) SELECT 1 FROM "users" WHERE "users"."email" = 'derek@gmail.com' LIMIT 1 (0.1ms) rollback transaction => #<User id: nil,first_name: "derek",email: "derek@gmail.com",password_digest: nil,credit_card_id: nil,address_id: nil,created_at: nil,updated_at: nil> >>> User.all User Load (0.3ms) SELECT "users".* FROM "users" => [] 如何使这些更改永久化并防止回滚? 编辑: 这是我的用户模型的内容 class User < ActiveRecord::Base attr_accessible :first_name,:last_name,:email,:password,:password_confirmation has_secure_password validates :first_name,presence: true,length: { maximum: 50 } validates :last_name,length: { maximum: 50 } VALID_EMAIL_REGEX = /A[w+-.]+@[a-zd-.]+.[a-z]+z/i validates :email,presence: true,format: { with: VALID_EMAIL_REGEX },uniqueness: true validates :password,confirmation: true,length: { minimum: 6,maximum: 50 } validates :password_confirmation,presence: true end 解决方法
所以看起来你没有提供密码确认,这就是它没有保存的原因.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |