Rails 4:在此操作中多次调用渲染和/或重定向

时间:2017-02-10 19:49:52

标签: ruby-on-rails ruby-on-rails-4 url-redirection

我有这堂课:

class SuperAppController < ApplicationController
    layout 'app'
    add_flash_types :error, :info
    skip_before_action :verify_authenticity_token
    after_action :check_account!

    before_filter do
    if current_empresa != nil
     authenticate_empresa!
    else
     authenticate_user!
    end
  end


    private
    def check_account!
        if empresa_signed_in? && current_empresa.data_pagamento.blank? ||
        empresa_signed_in? && current_empresa.data_pagamento && Time.zone.now > current_empresa.data_pagamento + 1.year
           redirect_to pagamento_index_path, notice: 'Active your account' and return
        end
    end

end

我使用函数&#34; check_account&#34;查看用户帐户是否已过期。 加载操作后,我收到此错误:

  

在此操作中多次调用渲染和/或重定向。   请注意,您最多只能调用渲染或重定向   每次行动一次。另请注意,重定向和渲染都不会终止   执行动作,所以如果你想在之后退出动作   重定向,你需要做类似&#34; redirect_to(...)和   返回&#34;

当我执行before_action而不是after_action时,我得到相同的错误,但是没有加载错误的视图。我从浏览器收到一条消息说:&#34; Localhost无法运行&#34;。我可以在终端上看到很多请求日志。

有人知道我为什么会这么多重定向?

谢谢!

0 个答案:

没有答案