문제

나는 결코 만지지 않습니다 routes.rb 전화를 넘어서 map.root 기본 경로를 설정합니다. 나는 항상 양식의 URL을 사용하는 것에 만족했습니다 ...

/controller/action/perhaps_an_id

그리고 그것은 잘 작동합니다.

이것이 나를 나쁜 사람으로 만들까요? 나는 완전히 멋진 것을 놓치고 있습니까?

편안한 디자인을 채택하려고한다면 어떨까요? 그것이 내가 편집해야한다는 것을 의미할까요? routes.rb 아니면 계속해서 그것을 무시할 수 있습니까?

(나는 Rails Way 에서이 주제를 읽으려고 노력했지만 견딜 수 없었습니다.)

도움이 되었습니까?

해결책

기본 스캐 폴딩으로 리소스를 생성하면 Routes.rb에 RESTFul 라우팅이 포함됩니다.

스캐 폴딩을 사용하지 않는 경우 작동하는 이유는 기본적으로 하단의 기본 경로 때문입니다.

    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

나는 생산 응용 프로그램을 위해 이들을 제거하고 대신 노출 된 자원 만 노출되어 있는지 확인하는 것이 가장 좋습니다. Rails 2.2를 사용하면 Map.Resources에서 RESTFul 방법을 다음과 같이 제한 할 수도 있습니다.

map.resources :posts, :only => [:index, :show]
map.resources :comments, :except => [:edit]

중첩 된 자원, 노선 등으로 할 수있는 멋진 일들도 있습니다. 문서에는 많은 예가 있습니다 (http://www.railsbrain.com/api/rails-2.2.2/doc/index.html?a=m000255&name=resources)

다른 팁

특정 컨트롤러 및 작업 등으로 이동하는 마케팅 부서 (예 : Mycoolsite.com/free-trial)에 맞춤형 명명 경로를 만들 수 있습니다.

Ryan Bates는 노선으로 할 수있는 깔끔한 일들 중 일부를 살펴 보는 일련의 스크린 캐스트가 있습니다. http://railscasts.com/tags/14

Restful Design으로 전환하지 않으면 나쁜 사람이되지 않으며 변경할 필요가 없다면 앱을 1.x 방식으로 계속 작성하십시오.

대부분의 Rails 개발자들은 휴식을 취했으며 그것에 대해 매우 행복한 것 같습니다. 나는 여기에 모든 프로 레스트 주장을 반복 할 필요가 없다고 생각합니다.

다음과 같은 경로 파일에 리소스 당 한 줄을 추가해야합니다.

map.resources :posts

당신이 편안하게 가려면, 당신은 경로를 편집해야 할 것입니다 .RB와 같은 자원을 추가하십시오.

map.resources :your_resource

또는 자원을 중첩 한 경우

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top