CustomFailure无效,但仅适用于我的rails应用中的sign_up

时间:2013-08-29 14:37:32

标签: ruby-on-rails authentication devise

我有一个奇怪的问题。我按照[here] [1]的描述设置了CustomFailure,它完美无缺。除非用户无法创建帐户(因此它适用于登录失败和管理员失败)。

我已经按照以下方式定制了设计注册控制器:

class RegistrationsController < Devise::RegistrationsController

        def create
          super
          if @user.save
            UserMailer.welcome_email(@user).deliver unless @user.invalid?
          end
        end

        protected

        def after_update_path_for(resource)
          user_path(resource)
        end

    end

同样,它在创建时工作正常,所以我知道路由设置正确,当用户成功或不成功注册时,肯定会调用控制器。可能是什么问题,我真的很困惑,甚至不知道从哪里开始寻找?

感谢您的帮助!

编辑:没有抛出任何错误,但不是按照CustomFailure.rb中的指定重定向到new_user_session_url,而是转到www.webpage.com/users。当我点击注册而不填写任何详细信息时,下面是我的日志中的完整读物:

Started POST "/users" for 127.0.0.1 at 2013-08-29 13:07:51 +0100
Creating scope :page. Overwriting existing method AdminUser.page.
Creating scope :page. Overwriting existing method Event.page.
Creating scope :page. Overwriting existing method Post.page.
Creating scope :page. Overwriting existing method Prospect.page.
Creating scope :page. Overwriting existing method User.page.
Creating scope :page. Overwriting existing method Video.page.
Creating scope :page. Overwriting existing method Comment.page.
Creating scope :page. Overwriting existing method CurrentRole.page.
Creating scope :page. Overwriting existing method EventMember.page.
Creating scope :page. Overwriting existing method Like.page.
Creating scope :page. Overwriting existing method MemberEducation.page.
Creating scope :page. Overwriting existing method MemberExperience.page.
Processing by RegistrationsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"KbN/RE1duz1TXKBkBHmH0W1355i9YLPr3rxGNAPzfQQ=", "user"=>{"type"=>"Member", "name"=>"", "email"=>"", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"JOIN FREE"}
   (2.1ms)  BEGIN
  FriendlyId::Slug Load (2.6ms)  SELECT "friendly_id_slugs".* FROM "friendly_id_slugs" WHERE "friendly_id_slugs"."sluggable_type" = 'User' AND (slug = '' OR slug LIKE '--%') ORDER BY LENGTH(slug) DESC, slug DESC LIMIT 1
   (2.0ms)  ROLLBACK
  Rendered users/registrations/new.html.erb within layouts/application (12.5ms)
  Rendered layouts/_new_header.html.erb (2.6ms)
  Rendered layouts/_new_footer.html.erb (0.7ms)
   (2.0ms)  BEGIN
  CACHE (0.0ms)  SELECT "friendly_id_slugs".* FROM "friendly_id_slugs" WHERE "friendly_id_slugs"."sluggable_type" = 'User' AND (slug = '' OR slug LIKE '--%') ORDER BY LENGTH(slug) DESC, slug DESC LIMIT 1
   (1.9ms)  ROLLBACK
Completed 200 OK in 235ms (Views: 46.2ms | ActiveRecord: 3.8ms | Sphinx: 0.0ms)

0 个答案:

没有答案