在Resource.save之前,在Devise gem中进行自定义重定向

时间:2019-02-25 20:24:01

标签: ruby-on-rails devise

在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_torespond_with,但没有成功。 Redirect_to告诉我不能有多个渲染。然后我想到了redirect_to && return的想法,该想法达到了不注册的目的,但是却下载了一个奇怪的文件。

有人知道如何停止注册用户的设计吗?

0 个答案:

没有答案