渲染多重时间-在Rails中进行双重渲染

dja*_*ngo 2 ruby ruby-on-rails

如何避免这种双重渲染问题,我一直在尝试复制,但未能做到。那么下面的代码有什么问题吗?

def check_count
  assign_values_from_params
  if count >= failed_count
    render partial: params[:view_name], layout: false and return
  else
    render text: 'works' and return
  end
end


def assign_values_from_params
  # code
  # code
  # code
  if @date.blank?
    redirect_to main_index_path and return
  end

  if @counted_obj != 5
    # call one function
  end
end
Run Code Online (Sandbox Code Playgroud)

我还应该以这种方式尝试一些双重渲染错误吗?

spi*_*ann 5

打电话performed?以检查是否renderredirect已经发生了。

您可能需要将您的代码更改为如下所示:

def check_count
  assign_values_from_params

  return if performed?

  if count >= failed_count
    render(partial: params[:view_name], layout: false)
  else
    render(text: 'works')
  end
end

def assign_values_from_params
  # code

  if @date.blank?
    redirect_to(main_index_path) and return
  end

  # code
end
Run Code Online (Sandbox Code Playgroud)