рельсы, только администратор может видеть страницу JSON - PullRequest
1 голос
/ 02 июня 2011

Может быть, кто-то сделал это до меня, я не могу справиться с этим.У меня есть система, где много пользователей, администраторов.Я использую extJS, JSON, Rails.

Итак, мой вопрос: как в рельсах я могу это сделать www.mysite.com/user/54/?format=ext_json&_dc=1306937167419&start=0&limit=50&fields=["respondent[email] МОЖЕТ УВИДЕТЬ ТОЛЬКО АДМИНИСТРАТОРЫ, и обычные пользователи могут видеть текст "Извините, только администраторы" ??

если просто, * .json-страницы могут видеть только администраторы.

это мой контроллер

  def uz   
    @answers      = Question.find(params[:id])

    if session[:user].is_admin == 1

    end

    respond_to do |format|
      format.ext_json { render :json => @answers.to_ext_json(:class => Answer, :include => [:respondent]) }
    end
  end

Я попробовал это (создать before_filter), но ничего

  def checking
    if session[:user].is_admin == 1
        WHAT TO DO HERE
    end
  end

1 Ответ

0 голосов
/ 02 июня 2011

Вы можете создать before_filter в контроллере, где вы можете проверить формат, действие и сеанс и вернуть страницу ошибки 404

http://apidock.com/rails/ActionController/Filters/ClassMethods/before_filter

before_filter :admin_required

...

private
def admin_required


  case params[:format].to_sym
  when :ext_json 
     #....redirect with eror or something if not admin
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...