2012-08-11 3 views
0

나는 Berkeley 소프트웨어를 서비스 과정으로하고 있으며, "비슷한 영화 찾기를위한 RESTful 경로"를 만드는 데 필요한 것을 해결할 수 없습니다. 나는 가능한 한 routes.rb이의 많은 변종을 시도하고있다"경로 일치 없음"- Ruby/Rails/오이

def find_by_same_director 
    @movies = Movie.find_by_director params[:id] 
end 

:

내 movies_controller이이

match 'movies/find_by_same_director/:id' => 'movies#find_by_same_director' 

그러나 무엇 나는이로 계속 실행 할 내 오이를 실행할 때도 같은 오류가 발생합니다.

나는 레일스에 처음 왔으므로 나는 그저 상응하지 못했을 것이라고 생각합니다. 컨트롤러 액션을 경로로 인식시키기 위해해야 ​​할 일이 무엇인지 이해하십시오. 아무도 올바른 방향으로 나를 가리킬 수 있습니까?

+0

모든 것이 올바르게 보입니다. 실패한 오이 코드를 게시 할 수 있습니까? – Brandan

+0

@Brandan, 음, 네, 당연히 모든 것이 오이에서 섞여있을 수 있습니다. 내가 지원/paths.rb에서 작성한 좀 더 의심스러운 것들로 편집하겠습니다 ... – thesunneversets

+0

명령 프롬프트에서'rake routes'를 실행하여 출력을 붙여 넣을 수 있습니까? 우리는 정의 된 경로가 있음을 알 수 있습니다. –

답변

2

귀하의 config/routes.rb 같은 것을 나에 simmilar이 있어야합니다!

def same_directors 
end 

당신은이 같은 뷰 작성해야합니다 :

`app/views/movies/same_directors.html.haml` 

그리고 오이에 대한

, 당신의 features/support/paths.rb이 줄거나에 simmilar이 있어야합니다

when /^the Similar Movies page for "(.*)"$/ 
    same_directors_path(Movie.find_by_title($1)) 

이 레일 애플 리케이션은 조리법을 요리하고 exatcly 길을 알고있는 오이 설치!

+0

고마워요! 추가 : routes.rb의 일치에 관해서는 find_by_same_director_path가 features/support/paths.rb에서 작동하는 것을 허용하는 것으로 보입니다. Coursera 과정을 조금이라도 실망스럽게 생각합니다. 독립적으로 Rails와 Cucumber를 배울 필요가있는 것 같습니다. 코스를 통해 배울 수 있기를 바랍니다. . – thesunneversets

+0

@thesunneversets 우리는 여기 있습니다! 천만에요 :) –

0
match 'movies/find_by_same_director/:id' => 'movies#find_by_same_director' 

가된다 :

match '/movies/:id/directors' => 'movies#same_directors', :as => 'same_directors' 

귀하의 app/controllers/movies_controller.rb 이름이 같은 조치를해야한다 :

match '/movies/find_by_same_director/:id' => 'movies#find_by_same_director' 
관련 문제