我正在编写一个继承自 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 路由的输出是我所期望的:
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 ....