Ruby on rails Rails、Ruby未显示未授权状态-语法问题

Ruby on rails Rails、Ruby未显示未授权状态-语法问题,ruby-on-rails,ruby,api,rabl,Ruby On Rails,Ruby,Api,Rabl,当尝试从非用户所有的资源请求JSON时,尽管我在下面写了验证,JSON显示为空括号,但状态返回为200 OK。我需要更改什么以响应401状态: @requested_resource = params[:resource_id].to_i @users_resources = Resource.owned_by(@current_user.id).collect {|s| s.id} if @users_resources.include?(@requested_reso

当尝试从非用户所有的资源请求JSON时,尽管我在下面写了验证,JSON显示为空括号,但状态返回为200 OK。我需要更改什么以响应401状态:

    @requested_resource = params[:resource_id].to_i
    @users_resources = Resource.owned_by(@current_user.id).collect {|s| s.id}
    if @users_resources.include?(@requested_resource)

    else
      respond_to do |format|
        format.json { render :json => [], :status => :unauthorized }
        format.html { render :file => "public/401.html", :status => :unauthorized }
      end
    end

此外,我正在使用RABL…

让RoR为您玩游戏,使用而不是
响应
。例如:

redirect_to "public/401.html", :alert => "Please authorize", :status => :unauthorized

切换到redirect_to将导致304 Not Modified状态。嗯,使用新答案,状态将返回到200 OK。它必须是IF语句或者我正在使用RABLIn事实,RABL不应该将smth带到重定向。也许能帮你?