명명 된 경로 _path 대 _url
Rails는 명명 된 경로를 제공합니다 .
경로 도우미는 경로 또는 URL을 사용하여 호출 할 수 있습니다.
예 : 문서에서 :
# and provide these named routes
root_url # => 'http://www.example.com/'
root_path # => '/'
솔직히 말해서 *_url
아직 헬퍼를 사용 해본 적이 없어요 *_path
.
이 두 도우미의 목적이 무엇인지 약간 혼란 스러웠습니다.
서로 어떻게 다른가요?
무엇이 좋을지 언제 사용하는지에 대한 설명이있는 실제 예.
_path
도우미는 사이트 루트 상대 경로를 제공합니다. 대부분의 경우 이것을 사용해야합니다.
_url
도우미는 프로토콜 및 서버 이름을 포함한 절대 경로를 제공합니다. 나는 주로 서버에서 앱에 대한 링크를 만들 때 이메일에서 이것을 사용한다는 것을 발견했습니다. 주로 외부 사용을위한 링크를 제공 할 때 사용해야합니다. (이메일 링크, RSS 및 YouTube 동영상의 "공유"섹션 아래에있는 URL 복사 및 붙여 넣기 등을 생각해보십시오.)
자신의 사이트에 링크를 넣으면 경로의 도메인 부분이 중복되고 페이지 크기가 추가되므로 *_path
도우미 와 함께 URL의 경로 부분을 사용할 수 있습니다 . 반면에 URL이 이메일이나 RSS 피드와 같이 사이트 외부에서 사용되는 경우 전체 URL이 필요하므로 *_url
도우미를 사용하십시오 .
다른 답변에서 설명했듯이 _url
이메일 링크 등에서 사용해야합니다 . 그러나 _url
여기에 설명 된대로 리디렉션 에서도 사용해야 함을 추가하고 싶습니다 .
https://www.ruby-forum.com/topic/101346#221052
그리고 여기:
http://viget.com/extend/rails-named-routes-path-vs-url
여기에서 HTTP 사양의 관련 섹션을 살펴볼 수도 있습니다.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
_path는 상대 경로를 제공합니다.
_url은 절대 경로를 제공합니다.
이메일 등으로 URL을 보낼 때마다 _path 대신 _url을 사용하는 것이 가장 좋습니다.
참고 URL : https://stackoverflow.com/questions/11939865/named-routes-path-vs-url
'programing' 카테고리의 다른 글
만드는 방법 (0) | 2020.08.19 |
---|---|
nvarchar (MAX)가 보유 할 최대 문자 수는 얼마입니까? (0) | 2020.08.19 |
While… Wend 루프에서 벗어나기 (0) | 2020.08.19 |
ANTLR에서 '의미 적 술어'는 무엇입니까? (0) | 2020.08.19 |
또는 (0) | 2020.08.19 |