2010-11-21 5 views
0

J'ai 2 ressources héritées (avec le plugin de Jose Valim) - Blogs et messages. Bien sûr - Blog hm Posts et Post bt Blog. Routes est tout simplement assezinherited_resources - aller au parent

resources :blogs, :only => [:show] do 
    resources :posts 
    end 

messages d'action Je également mis à jour l'index # avec suivant

def index 
    redirect_to parent_url 
    end 

comme je l'ai prévu - la tentative d'accès http://devhost/blogs/2/posts i seront redirigés vers http://devhost/blogs/2, mais je vois routage erreur

No route matches {:action=>"show", :controller=>"blogs"} 

son si étrange parce que je vois

blog GET /blogs/:id(.:format)  {:controller=>"blogs", :action=>"show"} 

sur rake routes.

Une idée - ce qui peut provoquer une erreur de suivi?

Répondre

0

Il semble que le parent (blog) n'est pas défini car il n'est pas présent dans les paramètres de routes. Avez-vous ajouté le belongs_to au PostsController?

PostsController < InheritedResources::Base 
    belongs_to :blog 
    ... 
+0

oui, bien sûr !!! J'essaie de combiner les actions 'blogs' show 'et' posts # index 'avec le morceau de code décrit. Peut-être que vous connaissez mieux? –

+0

j'ai changé mes itinéraires pour ressources: blogs,: sauf => [: show] faire ressources: messages fin match de 'blogs /: blog_id' => 'messages index #' mais pas sûr qu'il est la meilleure solution –

Questions connexes