我有一个奇怪的问题。我按照[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)