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 파일입니다. 삭제 경로는 삭제 작업 전에 확인 만됩니다.

레일스 경로 도우미를 사용하려고하지만 어떤 이유로 작동하지 않습니다.

new_league_league_relation_path 

을하지만이 오류가 발생합니다 : 특히, 나는이 작업을 수행하려고

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

는 기술적 오류가 맞습니다. 이 경기 'league_relations 번호 새로운'어떤 경로가 없다,하지만이 도우미에 의해 생성 된 URL 당신의 도움에 대한

/leagues/:id/league_relations/new

감사해야합니다, 정말 감사합니다.

+0

죄송합니다 모두들, 나는 실제로 문제를 알아 냈어 :이 작동

을 league_id. 해결책은 리그에서 new_league_league_relation_path로 전달하는 것이 었습니다. 내 코드가 다음처럼 보입니다. new_league_league_relation_path (current_league) 여기서 current_league는 현재보고있는 리그를 반환하는 도우미입니다. – Max

답변

1

실제로 경로는 예상대로입니다. 당신은 추가 깜빡 :

new_league_league_relation_path(:league_id => 1) 
관련 문제