2013-04-08 1 views
0

При попытке запросить JSON из ресурса, не принадлежащего пользователю, несмотря на то, что я написал ниже, JSON отображается как свободные скобки, но статус возвращается как 200 OK , Что мне нужно изменить, чтобы ответить 401 статус:Rails, Ruby Не отображается статус неавторизованный - Синтаксис Ошибка

@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 ...

ответ

1

Пусть RoR играть в игру для вас, используйте redirect_to вместо respond_to. Например:

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

Переключение на redirect_to приводит к статусу 304 без изменений. – ac360

+0

Я обновил ответ на то, что работает для меня. – mudasobwa

+0

Хм, с вашим новым ответом статус возвращается к 200 OK. Это должно быть либо заявление IF, либо факт, что я использую RABL – ac360