Я пишу собственный контроллер rails_admin (Backend::ImagesController), который наследуется от RailsAdmin::MainController.
Я выполнил шаги в этом ответе, но я получаю ошибку undefined_method, когда мое представление использует помощник маршрута backend_image_path(@image).
Контроллер определяется в файле controllers/backend/images_controller.rb как:
module Backend
class ImagesController < RailsAdmin::MainController
#layout 'rails_admin/cropper'
skip_before_filter :get_model
skip_before_filter :get_object
skip_before_filter :check_for_cancel
.... the various actions ....
Мои маршруты определены как:
namespace 'backend' do
resources :images do
member do
get :cropper
post :crop
end
end
end
mount RailsAdmin::Engine => '/backend', :as => 'rails_admin'
И вывод рейк-маршрутов - это то, что я ожидаю:
backend_image GET /backend/images/:id(.:format) backend/images#show {:protocol=>"https://"}
Наконец, из консоли рельсов:
app.backend_image_path(id: 10)
=> "/backend/images/10"
Этот контроллер работал безупречно, пока я не попытался интегрировать его в RA, расширив RailsAdmin::MainController.
Я не знаю, почему route_helper больше недоступен с контроллера....