嗨inmy app我有这样的情况:
在some_controller.rb
中的我有一个代码:
def start
method1(param)
....
if some_case
render json: {ok: "ok"}
end
end
def method1
...
if some_case
render json: {error: "Some error"}
return
end
end
问题在于,当json有错误时,我得到double render
错误。它建议我使用render .. and return
。我已经尝试过了,但仍然得到这个错误。
这是因为render
本身不会中断执行,而只是将smth返回给调用者方法?如果是这样,我的情况怎么办?事情是method1
实际上是一个很大的方法,我当然希望它与start
方法分开。如果没有理由在那里呈现错误,我希望继续执行start
。
感谢名单!
答案 0 :(得分:1)
请考虑使用过滤器。这有效:
YYMMDDhhmmss;Active
YYMMDDhhmmss;Passive
YYMMDDhhmmss;Active
YYMMDDhhmmss;Passive
当在过滤器中进行渲染时,它本身不会运行动作,因此不会发生双重渲染。
答案 1 :(得分:-1)
使用此代码
def method1
if some_case
render json: {error: "Some error", status: :unprocessable_entity }
end
end