2010-04-07 2 views
1

У меня есть модель под названием BlogPost и контроллер, называемый BlogPostsController, который имеет все базовые методы CRUD для BlogPost.Контроллер не совпадает с именем модели в Rails

Я пытаюсь понять, как я могу маршрутизировать пользователей, чтобы иметь URL-адрес, например, /blog/post-name, а не /blog_posts/post-name и «отключить» в общем URL-адрес /blog_posts. Должен ли я переименовать контроллер или изменить маршруты (и как)?

ответ

5

Update ваши маршруты и добавить опцию :as в свой блог маршрут после ресурсов

map.resources :blog_posts, :as => 'blogs' 
+1

Я думаю, что он хочет '/ blog', так: а =>«блог»- хотя форма множественного числа является более традиционным Рельсы ... – zetetic

+0

@zetetic; да, я тоже об этом подумал, может быть, «сообщения» - лучшее имя ресурса – Corey

+0

Мне нужно «/ blog/posts» :) Итак, я создал пространство имен в маршрутах: map.namespace: blog do | blog | и внутри blog.resources : posts,: controller => 'blog_posts' do | blog_posts | ... – Vitaly

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