最近我开始使用 Rails Admin 为我的项目创建管理面板。Rails admin 的 UI 非常漂亮,也提供了良好的用户体验。我对自定义 Rails 管理(例如覆盖控制器操作和使用自定义视图)有一些担忧。例如,假设我需要克隆一条记录并将其用于编辑操作。是否可以?我们可以使用自定义视图或表单吗?任何帮助将不胜感激。提前致谢。
我正在编写一个继承自 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 ....
Run Code Online (Sandbox Code Playgroud)
我的路线定义为:
namespace 'backend' do
resources :images do
member do
get :cropper
post :crop
end
end
end
mount RailsAdmin::Engine => '/backend', :as => 'rails_admin'
Run Code Online (Sandbox Code Playgroud)
rake 路由的输出是我所期望的:
backend_image GET /backend/images/:id(.:format) backend/images#show {:protocol=>"https://"}
Run Code Online (Sandbox Code Playgroud)
最后,从 rails 控制台:
app.backend_image_path(id: 10)
=> "/backend/images/10"
Run Code Online (Sandbox Code Playgroud)
这个控制器运行完美,直到我试图通过扩展 RailsAdmin::MainController 将它集成到 RA 中
我不知道为什么不能再从控制器访问 route_helper....
我正在寻找使用rails_admin进行多文件上传的快速解决方案.
有什么想法或解决方案吗?
paperclip carrierwave rails-admin ruby-on-rails-3.1 dragonfly-gem