cas*_*ral 0 ruby-on-rails spree deface
我正在spree 2.1上构建一个自定义选项卡,我在我的Deface覆盖上有这个工作正常,但是当我尝试点击我的选项卡已经在这个选项卡上时,它会转到url/admin/admin/places.所以我需要这个总是去/ admin/places.
找到这个https://codeclimate.com/github/spree/spree/Spree::Admin::NavigationHelper,它说该选项卡接受第一个参数并创建路径admin_places_path.
:insert_after => "[data-hook='admin_tabs']",
:text => "<%= tab :places, :icon => 'icon-th-large'%>"
Run Code Online (Sandbox Code Playgroud)
我尝试了通常:url param with'admin/places'但得到了相同的结果,并且正在寻找选项卡实现,这导致我进入codeclimate,现在在这里.谁知道如何避免这种情况?
这就是我解决的问题:
:text => "<%= tab :places, :icon => 'icon-th-large', url: main_app.admin_places_path %>"
Run Code Online (Sandbox Code Playgroud)
在搜索我的答案时,我发现我的地方路线位于我的app命名空间内,而不是在spree中.
namespace :admin do
# Directs /admin/products/* to Admin::ProductsController
# (app/controllers/admin/products_controller.rb)
resources :places
end
Run Code Online (Sandbox Code Playgroud)
因此,要访问我必须放置"main_app"的路径.在目标路径之前.请参阅此处:向Rails的Spree电子商务添加路由
查看codeclimate代码,我看到url param被设置为目标,可以使用它来放置"main_app".在路径之前,现在正在工作.
编辑:
发现它是一种更好的方法.
路线
Spree::Core::Engine.routes.prepend do
namespace :admin do
# Directs /admin/products/* to Admin::ProductsController
# (app/controllers/admin/products_controller.rb)
resources :places
end
end
Run Code Online (Sandbox Code Playgroud)
将我的所有文件夹(控制器和视图)从控制器/视图>位置移动到控制器/视图> spree> admin> places
删除了"my_app".现在它更好,更容易.
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |