Nested resources i paths w widokach

Witam,
zamotałem się z nested resources, a dokładnie jak je wykorzystać w widokach.

map.namespace :admin do |admin| admin.resources :products do |product| product.resources :products_categories end admin.resources :categories end

admin_product_products_categories GET /admin/products/:product_id/products_categories(.:format) :controller=>"admin/products_categories", :action=>"index"} POST /admin/products/:product_id/products_categories(.:format) {:controller=>"admin/products_categories", :action=>"create"} new_admin_product_products_category GET /admin/products/:product_id/products_categories/new(.:format) {:controller=>"admin/products_categories", :action=>"new"} edit_admin_product_products_category GET /admin/products/:product_id/products_categories/:id/edit(.:format) {:controller=>"admin/products_categories", :action=>"edit"} admin_product_products_category GET /admin/products/:product_id/products_categories/:id(.:format) {:controller=>"admin/products_categories", :action=>"show"} PUT /admin/products/:product_id/products_categories/:id(.:format) {:controller=>"admin/products_categories", :action=>"update"} DELETE /admin/products/:product_id/products_categories/:id(.:format)
Mam produkty, mam kategorie które sobie tworze, edytuje, kasuje i wszystko pięknie działa. Jest tez tabel products_category która zawiera id produktow i kategorii, tak żeby można gdzieś przechowywać informacje które produkty w których kategoriach mają się znajdować. Jeżeli chodzi o tworzenie takich rekordów to działa. Problem jest z ich kasowaniem. W widoku link do destroy mam taki

<%= link_to 'Destroy', admin_product_products_categories_path(@product,products_category.id) , :method => :delete %>

który tworzy link

admin/products/test/products_categories.4   << test = product_id (friendly_id)

czemu na końcu robi .4 a nie /4 ??

Dostajesz taki link dlatego, że odwołujesz się do akcji index, kontrolera ProductCategories – admin_product_product_categories_path przyjmuje jeden wymagany parametr (ID produktu) oraz dodatkowe opcje - stąd products_category.id został wzięty jako opcja (w tym przypadku format) i został dopisany po kropce w URL.

Jeśli chcesz mieć poprawny link, musisz skorzystać z helpera: admin_product_product_category_path(@product, products_category)
.

admin_product_products_category_path(@product,products_category) generuje /admin/products/test/products_categories/15
więc jest już w porządku, tylko gdy chcę coś skasować dostaję error

Mysql::Error: Table 'baza_dev.products_products_categories' doesn't exist: SHOW FIELDS FROM `products_products_categories`

tabela products_products_categories nie istnieje, bo jest products_categories. czemu odwołuje się do nieistniejącej tablicy?
Wielkie dzięki za wcześniejszą odpowiedź.

Pokaż kod kontrolera ProductsCategoriesController i sprawdź, z jakiego modelu korzystasz - powinieneś mieć model ProductsCategory, ewentualnie inny z manualnie ustawioną nazwą tabeli w bazie danych (za pomocą metody set_table_name

Już znalazłem błąd dałem w modelach product i products_categories has_and_belongs_to_many