Пользовательское действие RailsAdmin для восстановления мягко удаленных записей

Я использую Rails 4.1.14 с rails_admin 0.8.1, mongoid 5.0 и mongoid_paranoia. Я создал специальное действие RailsAdmin для восстановления удаленных пользователей.

class Restore
  ...
  register_instance_option :controller do
    Proc.new do
      object.restore
      ...
    end
  end
end

Но я продолжаю получать

User with id '5695997df5740c17b0000002' could not be found

Из моего develoment.log

Started GET "/admin/user/5695997df5740c17b0000002/restore" for 127.0.0.1 at 2016-01-12 16:35:04 -0800
Processing by RailsAdmin::MainController#restore as HTML
  Parameters: {"model_name"=>"user", "id"=>"5695997df5740c17b0000002"}
MONGODB | localhost:27017 | rails425_dev.find | STARTED | {"find"=>"users", "filter"=>{"deleted_at"=>nil, "_id"=>BSON::ObjectId('56956c76f5740c1d68000000')}, "limit"=>-1}

Проблема заключается в том, что по запросу default_scope отфильтровываются записи, в которых в качестве элементаулиста не указано nil Любые предложения о том, как это переопределить?

1 ответ

Решение

К сожалению, мне придется перечислить это как ответ, потому что у меня нет репутации, чтобы комментировать.

Я полагаю, что на ваш вопрос можно ответить здесь: Как мне показать модели с незаданной областью в Rails Admin?

Я бы подошел к этому, чтобы создать область, которая удовлетворяет моим требованиям для RailsAdmin, и использовать эту область вместо этого; тем не менее, в общем я стараюсь избегать default_scope когда возможно.

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