빠른 참조

Rails 라우팅 치트시트

Rails 라우팅 빠른 참조 가이드: 리소스 라우팅, member 및 collection 액션, 네임스페이스, 스코프, 제약조건 및 라우트 헬퍼.

· 게시일

Rails 라우터는 요청 URL을 인식하여 적절한 컨트롤러 액션으로 디스패치하며, 헬퍼를 통해 상호 경로와 URL을 생성합니다.

리소스 기반 라우팅 (resources)

Rails.application.routes.draw do
  root "home#index"

  resources :articles do
    # 멤버 라우트 (특정 항목 대상: /articles/:id/publish)
    member do
      patch :publish
    end

    # 컬렉션 라우트 (컬렉션 전체 대상: /articles/search)
    collection do
      get :search
    end

    # 중첩 리소스 (/articles/:article_id/comments)
    resources :comments, only: [:create, :destroy]
  end
end

라우트 경로 헬퍼 (Route Path Helpers)

액션 경로 헬퍼 생성되는 URL
index articles_path /articles
show article_path(@article) /articles/:id
new new_article_path /articles/new
edit edit_article_path(@article) /articles/:id/edit

네임스페이스 및 스코프 (Namespaces & Scopes)

# Namespace: URL에 /admin 접두어 추가 및 Admin:: 컨트롤러 네임스페이스 매핑
namespace :admin do
  resources :users
end
# /admin/users 요청을 Admin::UsersController 로 라우팅

# Scope: 컨트롤러 네임스페이스 변경 없이 URL 접두어만 추가
scope "/v1" do
  resources :posts
end

사용자 정의 단일 라우트 및 리다이렉트

# 커스텀 HTTP 동사 매핑
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

# 301 영구 리다이렉트
get '/stories', to: redirect('/articles')

참고 자료

관련 주제