2011-08-13 3 views
0

ルートのネストに問題があります。おそらくあなたにコードを示すのが一番簡単でしょう。ネストされたRESTfulルートが機能しない(RoutingError)

resources :leagues do 
    get 'delete', :on => :member 

    resources :league_relations do 
    get 'delete', :on => :member 
    end 
end 

各リーグにhas_many:league_relations、とbelongs_toの各LeagueRelation:リーグ戦ここに私のroutes.rbをファイルです。削除ルートは、破棄アクションの前に確認するだけです。

私はRailsのパスヘルパーを使用しようとしていますが、何らかの理由で動作していません。

new_league_league_relation_path 

をしかし、これはエラーを発生させます:具体的には、私はこれを行うにしようとしています

No route matches {:action=>"new", :controller=>"league_relations"}

は技術的には、エラーが正しいです。そこには、ルートマッチ「league_relationsが新しい#」であるが、このヘルパーで作成されたURLは、あなたの助けのために

/leagues/:id/league_relations/new

感謝すべきではない、私はそれを本当に感謝しています。

+0

申し訳ありませんが、誰もが、私は実際に問題を考え出しました。解決策は、リーグでnew_league_league_relation_pathに渡すだけでした。私のコードは次のようになりました new_league_league_relation_path(current_league) ここで、current_leagueは現在見ているリーグを返すヘルパーです。 – Max

答えて

1

実際のルートは、実際には予想どおりです。あなただけ追加するのを忘れ:これは動作します

をleague_id:

new_league_league_relation_path(:league_id => 1) 
関連する問題