2013-03-05 2 views
0

레일즈가 제공하는 리소스의 기본 라우팅을 무시할 수 있습니까? 내 애플 리케이션에서 new.html.erb는 put 메소드에 의해서만 액세스되기를 원한다. 그러나, map.resources :model을 정의하면 new.html.erb에 get 메서드를 사용하여 액세스 권한을 부여 할 것이므로이를 변경하고 싶습니다. 그럴 수있어?레일스의 기본 라우팅을 재정의

답변

0

당신이 당신의 모델에 대한 기본 경로를 생성하기 위해 새로운 조치없이, 당신은 당신의 경로 파일

resources :model, except: :new 

에서이 명령을 사용할 수 있습니다 그리고 같은 파일에 관리되는 비를 추가 할 것입니다하려는 경우 (예 : 새로운 조치를 "수동") 경로

put "articles/new" => "articles#new" 

참고 : 당신은 또한 쉽게 미래에 더 많은 방법을 추가 할 수 있도록이 구문 match "articles/new" => "articles#new", via: :put을 사용할 수 있습니다

더 많은 정보 : http://guides.rubyonrails.org/routing.html

0

하나의 방법은 모델을 routes.rb의 리소스로 선언하지 않고 수동으로 원하는 경로를 설정하는 것입니다.

예를 들어

모델이 제 경우에, 당신은 당신의 routes.rb에있을 수

put "articles/new" => "articles#new" 

'기사/새로운'새로운 행동, 그리고 제한에 바로 PUT 방법과 일치한다 어떤 .

관련 문제