Ruby on rails rails中与重定向相关的双渲染错误
在我的控制器中,如果用户已注销,我将重定向用户。然后我会列出一份专业人士的名单。。如果不存在,也需要重定向到那里。有没有办法解决这个难题Ruby on rails rails中与重定向相关的双渲染错误,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的控制器中,如果用户已注销,我将重定向用户。然后我会列出一份专业人士的名单。。如果不存在,也需要重定向到那里。有没有办法解决这个难题 def purchase @style = Style.find(params[:id]) if user_signed_in? && current_user.consumer @professionals = Professional.where(...) if @professionals.e
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
尝试添加
并返回
,以使操作返回而不继续。请尝试以下操作:
redirect_to style_path(@style) and return
将以下代码更改为:
if @professionals.empty?
redirect_to style_path(@style) and return
希望这会有帮助。谢谢与上述答案类似,有些人只是更喜欢
return redirect_to style_path(@style)
我觉得不错。你的代码不能同时执行两个重定向命令,所以除非你没有向我们展示所有的代码,否则你不应该得到双重渲染。。。我取出了一些无关的代码,但没有任何东西会影响这个逻辑。你得到的是双重渲染错误吗?一个在if中,另一个在else中。你的代码中真的有
redirect\u重定向到style\u路径(@style)
吗?哈哈,我想这才是真正的问题。不错,弗雷德。