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 (外部編集)