Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4:渲染和/或重定向在此操作中被多次调用_Ruby On Rails_Ruby On Rails 4_Url Redirection - Fatal编程技术网

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

Ruby on rails Rails 4:渲染和/或重定向在此操作中被多次调用,ruby-on-rails,ruby-on-rails-4,url-redirection,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

我有这门课:

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
class SuperAppControllercurrent_empresa.data_pagamento+1.5年
重定向到pagamento_索引路径,注意:“激活您的帐户”并返回
结束
结束
结束
我使用“check_account”功能查看用户的帐户是否过期。 加载操作时,我收到以下错误:

在此操作中多次调用渲染和/或重定向。 请注意,您最多只能调用render或redirect 每个动作一次。还要注意,重定向和渲染都不会终止 操作的执行,因此如果要在 重定向,您需要执行类似“重定向到(…)和 返回”

当我在\u操作之前而不是在\u操作之后执行操作时,我会得到相同的错误,但是没有加载错误的视图。我从浏览器收到一条电子消息:“Localhost不工作”。我可以在终端上看到很多请求日志

有人知道我为什么会收到这么多重定向吗


谢谢

要触发此动作后的
,您必须对特定动作发出请求。介意在你的问题中包括这个吗?可能是你的
支票账户应该是动作之前的
。考虑一个动作:<代码>渲染< /Cal> >一些视图。一个动作可以
呈现
重定向到
一次。如果您的操作被呈现,那么您的检查尝试将\u重定向到
,然后您就会遇到此问题。你可能想在呈现动作之前将你重定向到
,我试过了。当我执行before_操作时,我会得到相同的错误,但是错误视图没有加载。我从浏览器上收到一条消息:“Localhost不工作”您能提供您试图呈现的来自
SuperAppController
的操作吗?这不是答案,但使用这样的回调(有些人可能会说),使这类事情很难调试。我会删除你所有的回调(在*之前和之后),并在你正在执行的操作中直接处理这些事情。然后事情就会更清楚了。我的应用程序的这一部分来自这个类。所以很多其他类都有这个继承。这不仅仅是一个。所有部分都继承这个类。大约有12个类继承了这个类。要触发这个动作后的
,您必须对特定动作发出请求。介意在你的问题中包括这个吗?可能是你的
支票账户应该是动作之前的
。考虑一个动作:<代码>渲染< /Cal> >一些视图。一个动作可以
呈现
重定向到
一次。如果您的操作被呈现,那么您的检查尝试将\u重定向到
,然后您就会遇到此问题。你可能想在呈现动作之前将你重定向到
,我试过了。当我执行before_操作时,我会得到相同的错误,但是错误视图没有加载。我从浏览器上收到一条消息:“Localhost不工作”您能提供您试图呈现的来自
SuperAppController
的操作吗?这不是答案,但使用这样的回调(有些人可能会说),使这类事情很难调试。我会删除你所有的回调(在*之前和之后),并在你正在执行的操作中直接处理这些事情。然后事情就会更清楚了。我的应用程序的这一部分来自这个类。所以很多其他类都有这个继承。这不仅仅是一个。所有部分都继承这个类。大约有12个类继承了这个类。