Проблема безопасности с миграцией при использовании декларативного гема авторизации

Я пытаюсь запустить миграцию (просто добавив столбец и фактически инициализировав его), но декларативная авторизация (gem) лишает меня доступа, потому что она использует "гостевого" пользователя.

Это сообщение об ошибке, которое я получил:

No matching rules found for update for #<Authorization::AnonymousUser:0xaf100b8 @role_symbols=[:guest]>

Конечно, "гостевой" пользователь вообще не имеет доступа, определенного в config / authorization.rb. Более того, я обеспечил безопасность модели с опцией "using_access_control" декларативной авторизации.

Как я могу запустить свою миграцию как пользователь "admin" с декларативной авторизацией?

Я уже сталкивался с такой проблемой в прошлом и нашел решение в ответах stackoferflow, но я не могу найти его снова.

Спасибо за любую помощь

=== ОБНОВЛЕНИЕ ===

Я нашел возможное решение, поместив свой блок миграции в блок метода "less_access_control "из декларативного гема авторизации:

class AddDateToProjMesure < ActiveRecord::Migration

  def change
    add_column :proj_mesures, :date_reference, :date

    Authorization::Maintenance::without_access_control do
      ProjMesure.all.each do |proj_mesure|
        proj_mesure.update_attributes! :date_reference => Time.zone.today
      end # ProjMesure.all.each
    end # Authorization::Maintenance::without_access_control

  end
end

но я получил следующую ошибку:

неинициализированная константа Authorization::Maintenance/var/www-opf/opf/db/migrate/20130607103809_add_date_to_proj_mesure.rb:41: в `change'

есть идеи почему? и если мне нужно использовать оператор require, на что он должен указывать? ( vendor/plugins/ папка пуста!!!!)

1 ответ

В документации сказано добавить следующее, но это неправильно, поскольку вендорская папка Rails 3 больше не существует в рельсах 3 и 4:

require "vendor/plugins/declarative_authorization/lib/maintenance"

Я спросил в группе Google, и они дают мне правильную строку:

require 'declarative_authorization/maintenance'

Меня устраивает!

Другие вопросы по тегам