渲染json并返回

use*_*150 2 ruby-on-rails ruby-on-rails-4

我们如何and returnrender json: @object默认情况下(自动)在每个之后调用

我现在应该做什么,

def not_authorized(msg="Not Authorized")
render json: msg, status: 401
end
Run Code Online (Sandbox Code Playgroud)

在控制器调用..

not_authorized and return
Run Code Online (Sandbox Code Playgroud)

或者

 render :json => @user and return
Run Code Online (Sandbox Code Playgroud)

所以..

  1. 我们可以and return在调用渲染 json 时隐式吗?

  2. 为什么这不是默认值,即在 arender或更具体地说 a之后不返回的目的是render json:什么?

dja*_*ski 5

广告 1. 不,我们不能 - 您必须明确声明。

广告 2. 请记住,控制器是一个常规类实例,就像您的应用程序中的任何其他实例(用户或其他)一样,显式返回是在最后一行之前停止方法执行的正常方法。唯一的解决方案是使用exceptionsthrow-catch阻止,但它总是会影响性能。