Rails before_фильтр для определенных действий в контроллере

  def new
    before_filter  do 
      redirect_to "/" unless current_admin || current_company
      flash[:notice] = 'You dont have enough permissions to be here' unless current_admin || current_company

     end
    CODE CODE CODE
   end

  def edit
    before_filter  do 
      redirect_to "/" unless current_admin.id = 5
      flash[:notice] = 'You dont have enough permissions to be here' unless current_admin || current_company

     end
    CODE CODE CODE
   end

Это код, который я хочу сделать, но не могу понять, как сделать это правильно. Чего я хочу добиться, так это применить правило фильтрации перед_для каждого из моих действий. Таким образом, возможно, пользователь может получить доступ к действию INDEX, но не к действию EDIT и т. д. Я знаю, что метод фильтра before_запускается один раз, и я не могу запустить 4 фильтра before_, я просто даю ссылку из-за моего плохого английского.

Вы должны знать, что я использую Devise для методов текущего_администрирования и текущей_компании. Мне нужно применять разные фильтры (если admin или если company.id=X)и другие действия.

Заранее спасибо, я тут застрял. Любая помощь будет оценена.

32
задан Mau Ruiz 8 April 2012 в 08:08
поделиться