Пользовательское действие 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
когда возможно.