gpt4 book ai didi

ruby-on-rails - 使用渲染后如何停止 Controller 执行? (使用 Ruby on Rails)

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:16 24 4
gpt4 key购买 nike

我有这个方法:

 def index
urls = parse_urls(params[:urls])

responses = Parallel.map (urls) do |url|
begin
get url
rescue RestClient::Exception
case params[:errors]
when 'fail_any'
render :json => fail_any
when 'replace'
replace
else
render :json => { :error => 'UNKNOWN_ERROR_TYPE'},status: 400
end
{:result=>'failed'}
end
end

但我想在渲染后停止 Controller 执行。我试图在渲染后添加中断,但我收到一条错误消息

Parallel::DeadWorker

Marshal.load(read)
rescue EOFError
raise DeadWorker
end
raise result.exception if ExceptionWrapper === result
result

最佳答案

使用:返回:

return render :json => fail_any

或者,在 render :json ... 行之后使用 return,例如:

render :json => fail_any
return

更新:

render :text => "No Data" and return if some_condition

或者,如果您确定要在此时停止 Controller 执行,只需render and return:

render :text => "No Data" and return

这确保执行在遇到语句后停止,并且在看到返回时操作代码中不再发生任何流程。

这篇文章 Render and Return可能会有用。

关于ruby-on-rails - 使用渲染后如何停止 Controller 执行? (使用 Ruby on Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32170955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com