[Rails] scope/namespace/module를 마주하고
PF 제작 중namespace/scope/module 등 명칭 공간에서 그룹을 나눌 수 있는 기회가 있기 때문입니다.
출력하고 싶습니다.
namespace
namespace
URL은 지정된 경로를 지정하고 파일로 구성된 경로를 지정할 때 사용됩니다.맞춤형
URI Pattern
과 Controller#Action
을 동시에 만들고 싶을 때 사용하겠다는 것이다.아래처럼 경로를 설정하면...
namespace :admin do
resources :articles
end
경로는 다음과 같습니다.Prefix
Verb
URI Pattern
Controller#Action
admin_articles
GET
/admin/articles
admin/articles#index
new_admin_article
GET
/admin/articles/new
admin/articles#new
* 아래 생략
보통
resources :articles
이라면 위쪽admin
부분은 추가로 기재되지 않았다.namespace
를 사용하여 app/controllers/admin
디렉토리 아래에서 컨트롤러를 그룹화할 수 있습니다.scope
scope
URL에서 경로를 지정하고 파일 구성을 변경하지 않으려는 경우 사용합니다.맞춤형
URI Pattern
으로만 사용하고 싶다는 것이다.아래처럼 경로를 설정하면...
scope :admin do
resources :articles
end
도 생략된 형식으로 기술할 수 있다.resources :articles, path: '/admin/articles'
다음과 같은 경로입니다.Prefix
Verb
URI Pattern
Controller#Action
articles
GET
/admin/articles
articles#index
new_article
GET
/admin/articles/new
articles#new
* 아래 생략
이번에는
URI Pattern
admin
만 부가했다.따라서 app/controllers
는 디렉터리 아래의 컨트롤러임을 알 수 있다.module
module(scope module)
URL의 경로를 변경하지 않고 파일 구성을 지정할 때 사용합니다.변경
Controller#Action
할 때만 사용하겠다는 것이다.아래처럼 경로를 설정하면...
scope module: :admin do
resources :articles
end
생략 형식으로 기술할 때 다음과 같다.resources :articles, module: 'admin'
라우트:.Prefix
Verb
URI Pattern
Controller#Action
articles
GET
/articles
admin/articles#index
new_article
GET
/articles/new
admin/articles#new
* 아래 생략
작용은 많이 다르지만 헷갈리기도 쉽다
내가 잘 컨트롤할게.
끝까지 읽어주셔서 감사합니다.
참고 자료
컨트롤러 네임스페이스 및 라우팅 -Rils 가이드
【Rails】 루트 중의namespace/scope/module에 대한 차이와 사용 방법
Rails의routing에서scope/namespace/module의 차이
Reference
이 문제에 관하여([Rails] scope/namespace/module를 마주하고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/iloveomelette/articles/c3c5cbd280b901텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)