2011-12-09 3 views
1

특정 경로에 대해 route.rb에서 http 동사를 입력하거나 삭제할 수 있습니까?레일 - 경로에서 http 동사 PUT 또는 DELETE 지정

등 :

get 'photos/show'

나는 다음과 같은 경기를 함께 할 노력 : 그것은 바로 보인다 레이크 노선에서

match 'photos/show' => 'photos#show', :via => :delete 

하지만 삭제 HTTP 요청을하지 않습니다 . 또한 나는 시도 :

match 'photos/show' => 'photos#show', :via => :random

그리고 그 쇼 "랜덤"레이크 노선의

guides 같이 당신이 얻을 또는 사후 지정할 수 있다는 것,하지만 난 알고하지 않습니다 I put 또는 delete를 지정할 수 있습니다. 가능한가?

+0

'put'사진/: id (. : 형식) ', : to =>'photos # update''의 잘못된 점은 무엇입니까? – jibiel

+0

솔직히 말하면, PUT 동사를 시도하지는 않았지만 routes.rb에서 무언가를 찾지 못했습니다. 그래서 DELETE로 작동하지 않을 수도 있습니다. – JohnDel

답변

4
put 'photos/:id(.:format)', :to => 'photos#update' 
delete 'photos/:id(.:format)', :to => 'photos#destroy' 

또는

resources :photos 

와 충돌하여 응용 프로그램 디렉토리

rake routes 

자, 당신도 노력하고있어!

+0

그래, 문제는 범위 안에 있습니다. 나는 그것을 안으로 시도했다 : devise_scope : user do 삭제 "/ 로그 아웃"=> "devise/세션 # 파괴" 끝 그리고 그것은 작동하지 않았다. 그것에 대한 어떤 제안 ?? 고맙습니다. – JohnDel

+0

그리고 무엇이 필요합니까? 만약 당신이 devise_for : users, : path_names => {: sign_up => "signup", : sign_in => "login", : sign_out => "logout"}'시도해 볼만하다면 사용자 정의 경로를 원할 것입니다. – jibiel

+0

깊은 사용자 정의. 질문을 업데이트 한 다음 올바른 사람을 유인하고 싶을 수도 있습니다. – jibiel

3

아무 것도 성냥 대신에 '직접'put/post/delete를 사용하지 못하게합니다. 예를 들어

이 나를 위해 작동합니다 : 당신은 예를 들어, 같은 경로로 할 때

이 옵션을 통해
get 'user/edit' => 'users#edit', :as => :edit_current_user 
put 'signup' => 'users#update' 

(가) 유용 (안 빈번한 경우, 비록) :

match 'user/show' => 'users#show', :via => [:get, :post] 
관련 문제