Как я могу использовать метод RedactorRails, проходящий авторизацию

Я использую драгоценный камень рельсов редактора.

При попытке загрузить картинку вижу:

Started POST "/redactor_rails/pictures?authenticity_token=g1JQetiggTDMwYoG2CnVz5ilnBoXReONW9iwgt5%2FJy4%3D" for 127.0.0.1 at 2013-07-31 22:02:10 +0400
Processing by RedactorRails::PicturesController#create as HTML
#other logs

ActionController::RoutingError (No route matches {:controller=>"info", :action=>"app_index"}):
  app/controllers/application_controller.rb:55:in `authorize'

Что на самом деле указывает на то, что это не проходит мою пользовательскую авторизацию:

  def authorize
     @current_permission = current_permission
     if @current_permission.allow?(params[:controller], params[:action])
        return true
      else
      redirect_to root_url
    end
  end

Текущее разрешение делается так:

   allow :controller, [:m1, m2, ....]
   allow :users, [:new,:create,:uniqueness, :show, :create_guest, :edit_user_by_reset, :update_pass, :email_confirmation]
   # so on

Что я пробовал:

   allow "RedactorRails::PicturesController", [:create]
   allow  :pictures, [:create]
   allow :redactor_rails, [:create]

Ничего из этого не работает.

Любые идеи?


person Joe Half Face    schedule 31.07.2013    source источник
comment
Хотя это не решает вашу проблему (мне хотелось бы увидеть ваши методы allow? и current_permission), я хотел бы указать на pundit gem, когда я вижу подобную хрупкую пользовательскую авторизацию.   -  person deefour    schedule 31.07.2013
comment
@Deefour, ты ошибаешься, он основан на туториале RailsCasts и работает как канкан на 100%, просто на заказ   -  person Joe Half Face    schedule 31.07.2013
comment
Я не уверен, в чем ошибаюсь, поскольку я просто предложил хорошо проверенную, популярную, легкую альтернативу вашей текущей авторизации. Если вы обиделись на то, что я назвал его «хрупким», я извиняюсь, но это, по-видимому, является источником проблемы, по которой вы здесь ищете помощи.   -  person deefour    schedule 31.07.2013
comment
@Deefour, конечно, авторизация запрещает что-то, не упомянутое в белом списке, именно так работает авторизация по белому списку (белый список считается гораздо лучшим вариантом). И на самом деле, любой гем (подход с белым списком) в любом случае спросит меня, какие контроллеры и методы имеют разрешение, и я снова столкнусь с этой проблемой. Мне нужно знать, какое имя контроллера будет отвечать на запрос.   -  person Joe Half Face    schedule 31.07.2013


Ответы (1)


   allow :"redactor_rails/pictures", [:index, :create]
   allow :"redactor_rails/documents", [:index, :create]

Итак, основная полезная информация - это то, как вы где-то объявляете метод контроллера, чтобы он соответствовал редактору.

person Joe Half Face    schedule 05.08.2013