ruby-on-rails – Rails设计用户存在空DB
发布时间:2020-12-17 01:51:35 所属栏目:百科 来源:网络整理
导读:我正在尝试通过设计创建一个用户,但我遇到了问题. 家园 def land @resource = User.new @devise_mapping = Devise.mappings[:user]end land.html.haml = form_for @resource,:as = :user,:url = registration_path(:user),:remote = true do = label_tag 'us
我正在尝试通过设计创建一个用户,但我遇到了问题.
家园 def land @resource = User.new @devise_mapping = Devise.mappings[:user] end land.html.haml = form_for @resource,:as => :user,:url => registration_path(:user),:remote => true do = label_tag 'user[email]',raw("<h3>Stay Informed!</h3>") = text_field_tag 'user[email]',nil,{:placeholder => "Your email",:required => true} %input(type="submit" name="commit" value="Add") user.rb class User < ActiveRecord::Base before_validation(:on => :create) do self.password = "none" self.password_confirmation = "none" end # Include default devise modules. Others available are: # :token_authenticatable,:encryptable,:confirmable,:lockable,:timeoutable and :omniauthable devise :database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable # Setup accessible (or protected) attributes for your model attr_accessible :email,:password,:password_confirmation,:remember_me end 正在使用Default Devise :: RegistrationsController. 这在提交时出现: development.log Started POST "/users" for 127.0.0.1 at 2013-04-24 20:49:46 -0300 Processing by Devise::RegistrationsController#create as JS Parameters: {"utf8"=>"?","user"=>{"email"=>"me@mjohnst.com"},"commit"=>"Add"} [1m[35m (0.3ms)[0m BEGIN [1m[36mUser Exists (0.5ms)[0m [1mSELECT 1 AS one FROM "users" WHERE "users"."email" = 'me@mjohnst.com' LIMIT 1[0m [1m[35m (0.2ms)[0m ROLLBACK Rendered devise/registrations/create.js (0.4ms) Completed 200 OK in 84ms (Views: 4.1ms | ActiveRecord: 1.0ms) 但是,在rails控制台中: 2.0.0p0 :011 > User.all User Load (0.5ms) SELECT "users".* FROM "users" => #<ActiveRecord::Relation []> 和localhost:5000 /用户完全是空的… 当我的数据库中没有用户时,为什么我会收到用户存在和ROLLBACK? 解决方法
用户存在查询来自验证器检查没有用户使用您尝试注册的相同电子邮件.永远不会有INSERT查询,因此您的用户永远不会被注册.
这可能是验证失败.在这种情况下,您的密码可能太短(默认的Devise密码长度验证要求至少长度为8,您的密码长度仅为4). 您正在收到成功的200响应,因为它正在重定向回注册,并显示一条Flash消息,说明哪些验证失败. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读