rails,只有admin才能看到json页面

时间:2011-06-02 11:41:49

标签: ruby-on-rails

也许有人在我面前这样做了,我无法处理这件事。 我有很多用户,管理员的系统。我正在使用extJS, JSON, Rails.

所以,我的问题是:如何在轨道中我能做到www.mysite.com/user/54/?format=ext_json&_dc=1306937167419&start=0&limit=50&fields=["respondent[email]只能看到ADMINS而且普通用户可以看到文字“抱歉,只有管理员”??

如果简单,* .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 :(得分:0)

您可以在控制器中创建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