2010-04-07 7 views
1

J'ai un modèle appelé BlogPost et un contrôleur appelé BlogPostsController qui a toutes les méthodes CRUD de base pour BlogPost.Le contrôleur ne correspond pas au nom du modèle dans Rails

J'essaye de comprendre comment je peux diriger des utilisateurs pour avoir l'URL comme /blog/post-name au lieu de /blog_posts/post-name et «désactiver» en général URL /blog_posts. Devrais-je renommer mon contrôleur ou devrais-je changer d'itinéraire (et comment)?

Répondre

5

Mettez à jour vos itinéraires et ajoutez l'option :as à votre billet de blog itinéraire des ressources

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

Je pense qu'il veut '/ blog', donc: comme => « blog » - bien que la forme plurielle est plus classique Rails ... – zetetic

+0

@zetetic; oui, j'ai pensé à ça aussi, peut-être que 'posts' est un meilleur nom de ressource – Corey

+0

J'avais besoin de "/ blog/posts" :) J'ai donc créé un espace de noms dans les routes: map.namespace: blog do | blog |, et blog.resources : posts,: controller => 'blog_posts' faire | blog_posts | ... – Vitaly

Questions connexes