URL-адрес помощника пользовательской вкладки администратора Spree при переопределении дефейса

Я создаю пользовательскую вкладку в 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'%>"

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


person cassioscabral    schedule 01.11.2013    source источник


Ответы (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

Глядя на код codeclimate, я увидел, что параметр 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

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

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

person cassioscabral    schedule 02.11.2013