在Devise宝石中,创建新用户时,我们具有以下方法:
(在注册控制器中)
# POST /resource
def create
build_resource(sign_up_params)
resource.seller = true if params.key? "hidden_tag"
if something_happens
redirect_to root_path && return
end
resource.save if false
yield resource if block_given?
if resource.persisted?
if resource.active_for_authentication?
set_flash_message! :notice, :signed_up
sign_up(resource_name, resource)
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
如果条件为真,我想避免注册,但我没有设法实现。
我尝试了很多事情,例如redirect_to
,respond_with
,但没有成功。 Redirect_to告诉我不能有多个渲染。然后我想到了redirect_to && return
的想法,该想法达到了不注册的目的,但是却下载了一个奇怪的文件。
有人知道如何停止注册用户的设计吗?