【发布时间】:2014-09-14 12:01:48
【问题描述】:
我收到此错误,我尝试添加一个 redirect_to() 并返回我的 access_doc_or_redirect() 方法,但没有运气。有什么建议吗?
def access_doc_or_redirect(doc_id, msg)
doc = Document.find(params[:id])
if doc.user_access?(current_user)
@document = doc
else
flash[:alert] = msg
redirect_to root_url and return
end
end
def get
access_doc_or_redirect(params[:id], "Sorry, no document view access.")
redirect_to @document.file.url
end
错误
access_doc_or_redirect(params[:id], "Sorry, no document view access" AbstractController::DoubleRenderError: 在此操作中多次调用渲染和/或重定向。请注意,您只能调用渲染或重定向,并且在每个动作最多一次。还要注意,重定向和渲染都不会终止动作的执行,所以如果你想在重定向后退出一个动作,你需要做一些类似“redirect_to(...) and return”的事情。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4