Rails:如果未填写用户配置文件,则在页面上重定向

时间:2014-03-31 09:29:39

标签: ruby-on-rails process registration profile

我实际上正在构建一个系统,用户在注册我的应用程序并通过电子邮件确认其帐户后,将被重定向到向导流程页面(在Js中构建),在那里他们将被要求填写更多内容信息。

为此,我在app控制器中创建了一个函数,根据特定条件将用户重定向到该进程页面:

// application_controller.rb
class ApplicationController < ActionController::Base
  before_filter :fill_in_profile

  protected
    def fill_in_profile
      if user_signed_in?
        if current_user.employee? && !current_user.filled?
          redirect_to new_profile_path
        end
      end
    end
end

这里的问题是我得到302状态错误,因为它创建了一个无限重定向循环。 所以我想知道你们是如何处理这些页面和过程的?

由于

1 个答案:

答案 0 :(得分:0)

skip_before_action(或ProfilesController个点)中添加new_profile_path

class ProfilesController
  skip_before_action :fill_in_profile

  def new
    # …
  end
end

我很乐意推荐Rails API的链接,但AbstractController::CallbacksAbstractController::Callbacks::ClassMethods.skip_before_filter看起来都很有希望......