【发布时间】:2013-11-12 08:41:40
【问题描述】:
我正在编写一个继承自 RailsAdmin::MainController 的自定义 rails_admin 控制器 (Backend::ImagesController)。
我按照in this answer 的步骤操作,但是当我的视图使用路由助手 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 了....
【问题讨论】:
-
如果您计划将来进行更多自定义,activeadmin 会有所帮助。
-
我不考虑切换到另一个框架,反正我几乎想出了如何做到这一点。明天我会回答我自己的问题。
-
@Cec 你介意回答这个问题吗?
-
@thedeeno 嗨!由于我无法回答我的问题,因此我对其进行了编辑以将解决方案包含在底部。希望对你有帮助,干杯!
-
@Cec 感谢您花时间更新此内容。我没有在这个项目上工作,但是当我把它掸掉时,我一定会回来看看。 +1
标签: ruby-on-rails-3.2 rails-admin