rails中与重定向相关的双重渲染错误

时间:2013-07-25 18:30:14

标签: ruby-on-rails ruby

在我的控制器中,如果用户已退出,我将重定向用户。然后我拉了一个专业人员列表..如果不存在,也需要重定向。有没有办法解决这个难题?

  def purchase
    @style = Style.find(params[:id])
    if user_signed_in? && current_user.consumer 
      @professionals = Professional.where(...)
      if @professionals.empty?
        redirect_to style_path(@style)
      else
        ...
      end
      ...
    else
      flash[:error] = "Please sign in as a consumer to access this page"
      redirect_to style_path(@style)
    end
  end

3 个答案:

答案 0 :(得分:6)

尝试添加and return,以便操作返回并且不会继续。请尝试以下方法:

redirect_to style_path(@style) and return

答案 1 :(得分:4)

与上述答案类似,有些人更喜欢

的风格
return redirect_to style_path(@style)

答案 2 :(得分:0)

将以下代码更改为:

  if @professionals.empty?
    redirect_to style_path(@style) and return

希望它会有所帮助。感谢