2012-06-04 2 views
0

У меня есть модель рельсы, которые вложены:Rails маршрут для вложенной модели

# app/models/frontend/item.rb 
class Frontend::Item < Item 
end 

Когда я называю

form_for(@frontend_item) 

Он пытается перейти к «/ интерфейса/пунктам» пути.

Есть ли способ сделать это пойти в «/ пункты» вместо (без унаследованной «/ фронтэнда»)

+0

Вы, кажется, путает ресурсы и модели. Модели не вложены, но содержатся. Итак, ваш FrontEnd содержит элементы. – Salil

ответ

0

Решение было создать раздел Область применения:

# config/routes.rb 
scope :module => "frontend", :as => 'frontend' do 
    resources :items 
end 
0

Вы могли бы сделать это уже, но вы пробовали

rake routes 
+0

Не знаете, как будут видны маршруты, помогут ли вы подробнее? – Boris

0

Вы явно указали номер Frontend::Item как отдельную модель от Item. Таким образом, frontend_item правильно направляется на /frontend/items/:id.

Для переопределения этого добавьте следующую строку в файл маршрутов:

# routes.rb 
match 'item/:id' => 'Frontend::Item#show' 

Обратите внимание, что это теперь будет конфликт с маршрутом для вашей Item модели, так что вы должны удалить этот маршрут.

Смежные вопросы