2013-07-01 3 views
1

emberjs 및 레일을 기반으로하는 하나의 프로젝트입니다. 리디렉션/연습/2 #/레슨/2, localhost로 할 때emberjs route와 rails route 사이의 모든 관계

리디렉션 localhost로/# 레슨/2 페이지가

작동

파이어 폭스는 서버에 대한 요청을 리디렉션되는 것을 감지했습니다

이 주소는 결코 완료되지 않을 것입니다.

그래서 '로컬 호스트/# 레슨/2'와 '로컬 호스트/연습/2 #/레슨/2'

'로컬 호스트/연습/2 #/레슨/2'를 확인하려면

의 차이점은 무엇입니까 emberjs 경로를 설정하는 방법, 작품?

답변

1

때문에 '로컬 호스트/# 레슨/2'와 '로컬 호스트/연습/2 #/레슨/2'

차이가 /practices/2 부분의 차이거야. 그것은 URL 경로의 일부입니다. 기본적으로 엠버는이를 무시할 것입니다. 봇의 경우에는 lessons/2 인 해쉬에주의를 기울이고 있습니다.

firefox와 마찬가지로, 서버가 요청을 리디렉션하는 것처럼 보입니다.

'localhost/practices/2 #/lessons/2'작품을 만들고 싶다면 emberjs 경로를 설정하는 방법은 무엇입니까?

는 흠 ... 그 URL이 해당 서버/레일 관행/2의 렌더링을하고 수업/2 렌더링해야하는 사례/2 페이지에 타다 남은 응용 프로그램을 가지고 있음을 의미? 그것은 가능하지만 매우 복잡한 설정처럼 들립니다. 그게 네가 정말로 원하는 것이라면 나는 놀랄 것이다. 아마 대신 localhost/#practices/2/lessons/2을 원할 것입니다. 그 설정으로 여기에 설명 된대로 정상적인 엠버 라우팅을 사용하십시오 :

+0

그래서 emberjs 앱은 레일즈 루트 URL에서 실행됩니다. – Daniel

+0

종류. 엠버 애플 리케이션은 레일에 대해 모른다. 귀하의 질문에서 귀하의 레일 애플 리케이션의 루트 URL에 의해 반환 된 HTML 페이지처럼 엠버 애플 리케이션을 포함하지만 레일 경로와 URL/경로가 무엇이었던 상관없이 동일하게 작동합니다. 기본적으로 엠버 애플 리케이션은 url의 경로가 무엇인지 신경 쓰지 않고 엠버 앱의 라우터는 url의 hash 속성을 사용합니다. 해쉬는 서버에 의해 무시됩니다. 이것이 원하지 않는다면'location : history'를 설정함으로써'pushState'를 사용할 수도 있습니다 : http://emberjs.com/guides/routing/specifying-the-location-api/ –