ユーザ用ツール

サイト用ツール


rails:routing

文書の過去の版を表示しています。


RailsのURL設定

URLと対応する ActionController の設定は config/route.rb に記述する。

現在のURL設定を見る

現在の設定されているURLを見る

$ rake routes

URL設定を書く

config/route.rbファイルを修正する

ActionController::Routing::Routes.draw do |map|
 
# 設定はこのコードブロック書く
 
end

書き方

  # RAILS_ROOTへのアクセスを処理、root_controllerのindexメソッドが担当する
  map.root :controller => 'root', 
 
 
  # fooモデルに関するCRUD URLを作成する。この設定はscaffoldを作成すると自動的に追加される。
  map.resources :foos
 
 
  # fooモデルに関するCRUD URLに加えて、fooモデルとhas_manyな関係にあるbarモデルに対応するrestfulなURLを追加する。例えば、/foos/1/bars /new、/foos/1/bars/1 のようなURLができる。
  map.resources :foos,  :has_many => :bars
 
 
  # has_oneな関係なrestful URLを追加。 例:/foos/1/bar 
  map.resources :foos, :has_one => :bar
 
 
  # もっと深いhas_many、has_one ネスト
  # 例:GET /foos/:foo_id/bars/:bar_id/bazs/:id 
  # GET /foos/1/bars/2/buzs/5 でアクセスするとパラメータにfoo_id 1、bar_id 2、id 5が渡され、コントローラはbazs_controller 
 # 
  map.resources :foos, do |foo| 
    foo.resources :bar, has_many => bazs
  end
 
  # 自由に定義
  # /hoge/1/image のようなURLを定義して任意のコントローラとアクションメソッドと関連付ける。
  # コントローラには、このURLを生成するメソッド show_image_of_hoge_path() が追加される
  map.show_image_of_hoge 'hoges/:id/image', :contorller => 'hoges', :action => 'view_image'  
 
 
 # その他コントローラ全部 '/controller名/action名' というURLでアクセス 
  map.connect ':contoller/:action'
rails/routing.1227599810.txt.gz · 最終更新: 2011/04/19 12:36 (外部編集)