URL помощника настраиваемой вкладки администратора при отмене блокировки

Я создаю настраиваемую вкладку в spree 2.1, и у меня есть это на моем переопределении Deface, которое работает нормально, но когда я пытаюсь щелкнуть по моей вкладке, находящейся уже на этой вкладке, она переходит в url / admin / admin / place. Поэтому мне нужно, чтобы это всегда происходило в / admin / place.

Нашел этот 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'%>"

Я пробовал обычно:url param с 'admin/place', но получил тот же результат и искал реализацию с вкладками, которая привела меня к codeclimate и теперь здесь. Кто-нибудь знает, как этого избежать?

1 ответ

Решение

Вот как я решил:

 :text => "<%= tab :places, :icon => 'icon-th-large', url: main_app.admin_places_path %>"

В поисках своего ответа я обнаружил, что мои маршруты для мест находятся внутри пространства имен моего приложения, а не в оживлении.

namespace :admin do
  # Directs /admin/products/* to Admin::ProductsController
  # (app/controllers/admin/products_controller.rb)
  resources :places
end

Итак, для доступа к пути мне пришлось поставить "main_app". до целевого пути. Смотрите здесь: Добавление маршрутов в Rails' Spree E-Commerce

Просматривая кодовый код, я увидел, что в качестве пункта назначения был задан параметр url, и он мог использовать его для установки "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

Перемещены все мои папки (контроллеры и представления) из контроллеров / представлений> мест в контроллеры / представления>spree>admin> места

Удалено "my_app." и теперь это работает лучше и проще.

Другие вопросы по тегам