그래서이 데이터베이스에 대한 동영상이 있습니다. 내 경로 파일에 resources :movies
항목을 만들었으므로 필요한 모든 경로를 제공해야합니다.데이터베이스 항목을 업데이트 할 때 경로 오류가 발생했습니다.
이 내 영화 컨트롤러 : https://github.com/Veske/form/blob/ryhm/app/controllers/movies_controller.rb
내가 whatever.com/movies/1/edit에 동영상을 편집 할 때이 내가 오류입니다 :
Routing Error
No route matches [POST] "/movies/1/edit"
이 있습니다 지금 영화를위한 경로 :
movies_path GET /movies(.:format) movies#index
POST /movies(.:format) movies#create
new_movie_path GET /movies/new(.:format) movies#new
edit_movie_path GET /movies/:id/edit(.:format) movies#edit
movie_path GET /movies/:id(.:format) movies#show
PATCH /movies/:id(.:format) movies#update
PUT /movies/:id(.:format) movies#update
DELETE /movies/:id(.:format) movies#destroy
이제 movie/: id/edit에 대한 POST가 실제로 없음을 분명히 알 수 있습니다. 그런데 왜 그런가요? 내가 노선에 입력 한 선이 그걸 나에게주는 것이 아니겠습니까?
편집 : 영화에
링크보기 : https://github.com/Veske/form/blob/ryhm/app/views/movies/edit.html.erb
지금 고치려고했습니다. – Veske
좋아요. 양식을 만들었습니다. <% = form_for : movie, : html => {: method => : put} do | f | %> 하지만 영화/: id/edit에 경로를 지정하지 않았다는 사실은 변함이 없습니다. 어떻게 그 경로를 얻을 수 있습니까? 제 말은 ... 자원이 저를 위해해야한다는 말입니까? – Veske
컨트롤러에서 편집 작업을 수행 한 후 인스턴스 변수 (예 :'@movie = Movie.find (params [: id])')에 동영상을로드 한 다음'form_for @ movie'를 실행하십시오 – CDub