RailsAdmin::MainController から継承するカスタム rails_admin コントローラー (Backend::ImagesController) を作成しています。
この回答の手順に従いましたが、ビューでルート ヘルパー backend_image_path(@image) を使用すると undefined_method エラーが発生します。
コントローラーは、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'
そして、rake routes の出力は私が期待するものです:
backend_image GET /backend/images/:id(.:format) backend/images#show {:protocol=>"https://"}
最後に、Rails コンソールから:
app.backend_image_path(id: 10)
=> "/backend/images/10"
RailsAdmin::MainController を拡張して RA に統合しようとするまで、このコントローラーは問題なく動作しました。
コントローラから route_helper にアクセスできなくなった理由がわかりません....