注册后立即禁止登录(设计导轨)
问题描述:
如何防止注册后立即自动登录?我在registrations_controller.rb中有以下代码,但它不工作!注册后立即禁止登录(设计导轨)
def sign_up(resource_name, resource)
true
end
答
您需要创建自定义registration_controller.rb以覆盖默认值。很好的解释了如何在这里做到这一点:https://gist.github.com/kinopyo/2343176
然后在定制控制器重新创建默认创建行动,但没有sign_up(resource_name, resource)
这是默认registration_controller.rb
https://github.com/plataformatec/devise/blob/master/app/controllers/devise/registrations_controller.rb
这是一个没有sign_up(resource_name, resource)
创建行动:
# POST /resource
def create
build_resource(sign_up_params)
resource.save
yield resource if block_given?
if resource.persisted?
if resource.active_for_authentication?
set_flash_message! :notice, :signed_up
respond_with resource, location: after_sign_up_path_for(resource)
else
set_flash_message! :notice, :"signed_up_but_#{resource.inactive_message}"
expire_data_after_sign_in!
respond_with resource, location: after_inactive_sign_up_path_for(resource)
end
else
clean_up_passwords resource
set_minimum_password_length
respond_with resource
end
end
谢谢@meshin! – Theopap