Я пытаюсь выполнить миграцию (просто добавляя столбец и фактически инициализируя его), но декларативная авторизация (gem) запрещает мне доступ, потому что она использует «гостевого» пользователя.
Это сообщение об ошибке, которое я получил:
No matching rules found for update for #<Authorization::AnonymousUser:0xaf100b8 @role_symbols=[:guest]>
Конечно, пользователь «гость» вообще не имеет доступа, определенного в config/authorization.rb. Более того, я применил безопасность модели с опцией «using_access_control» декларативной авторизации.
Как я могу запустить миграцию от имени пользователя декларативной авторизации «admin»?
Я уже сталкивался с такой проблемой в прошлом и нашел решение в ответах stackoferflow, но я не могу найти его снова.
Спасибо за любую помощь
=== ОБНОВЛЕНИЕ ===
Я нашел возможное решение, поместив свой блок миграции в блок метода «без контроля_доступа» из гем декларативной авторизации :
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:in `change'
Любая идея, почему? и если мне нужно использовать оператор require, на что он должен указывать? ( папка vendor/plugins/ пуста !!!! )