2012-07-30 5 views
4

대 나는 레일을 배우기 시작 했어, 나는 용어 ​​와일드 카드 경로를보고 있어요,하지만 난 경로는 다음과 같은 방법으로 모두 나와 본 적이 :레일 와일드 카드 경로 : *

/a/path/*all', :all => /.*/ 

/a/path/:all 

두 경로 양식의 차이점은 무엇입니까?

답변

13

아직 라우팅 중 the Rails Guide을 읽었습니까? 레일스에서 ​​라우팅을 배울 수있는 좋은 기회입니다.

예를 들어 두 번째 코드 블록이 이 아니라 와일드 카드 경로라는 것을 알 수 있습니다. 대신이 가이드는 위를 참조 무엇 일치하는 Static Segment

당신은 또한 당신이 첫 번째 코드 블록에 시도하는 것으로 나타로서 그 세그먼트에 제한을 부과하는 법을 배워야합니다

, 당신은 :constraints 옵션을 사용해야합니다 같은 이 와일드 카드 경로, 또는 가이드 위에서 그들에게 의미로, 같은

GET "https://stackoverflow.com/a/path/*all", :constraints => { :all => /.*/ } 

그러나, 위의 제약 조건이 와일드 카드 *all는일치하는 것 때문에 중복 Route Globbing

어쨌든 기본적으로.