Ruby on Rails 3.2.1 Маршруты - PullRequest
       5

Ruby on Rails 3.2.1 Маршруты

0 голосов
/ 06 февраля 2012

Только что начал преобразовывать мое второе приложение из rails 2.3.11 в 3.2.1 - я столкнулся с проблемой с маршрутами ..

Это мой старый файл маршрутов:

map.namespace(:admin) do |admin|
 admin.resources :products, :has_many => [:categories, :product_versions, :extra_documents]
 admin.resources :product_versions, :has_many => [:sub_versions]
 admin.resources :categories, :has_many => [:sub_categories, :sub_emanuals, :sub_tests]
end

Это то, что у меня сейчас есть в моем файле rails3 rout.rb:

namespace :admin do
  resources :products
  resources :product_versions
  resources :categories
end

Это, кажется, вызывает проблемы, на мой взгляд, где у меня есть это:

<%= link_to "Edit Categories", admin_product_categories_url(product) %>

так как в рельсах 3 больше не понимает что это такое, я использую этот формат ОЧЕНЬ много в этом приложении. Я попытался обойти это, увидев вывод «Rake Routes», и я использовал:

<%= link_to "Edit Categories", admin_categories_url(product) %>

Однако в html-коде он дал мне URL-адрес "http://localhost:3000/admin/categories.21" - см. .21 not / 21

Может кто-нибудь еще на этом, пожалуйста?

Заранее спасибо, Andrew

1 Ответ

2 голосов
/ 06 февраля 2012

Должно быть

  admin_category_url(category)

т.е.одна категория

Сказав это,

Вы не хотите:

admin_product_category(product, category)

В этом случае вам необходимо вложить свои маршруты:

namespace :admin do
  resources :products do
    resources :categories
  end
  resources :product_versions
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...