I think it wouldn't justify it's own controller, and `restore` could be an action on the `Document::VersionsController`. The route might look like this, but I'm not sure what the logic in that method would look like.
# config/routes.rb
resources :articles do
scope module: 'articles' do
resources :versions do
post :restore, on: :member
end
end