Pages Menu
TwitterRssFacebook
Categories Menu

Posted on 5月 19, 2011 in Ruby, Ruby On Rails | 0 comments

[Rails][*Ruby]Rails初心者がルーティングについて全力で調べてみた(その2)


スポンサーリンク




前回Rails初心者がルーティングについて全力で調べてみたという記事でRailsのルーティングについて調べました。今回はさらに調べた内容をまとめました。

今回も前回同様Rails3を対象としています。

オプションパラメータ

下記のように記述すると、postsコントローラのindexアクションにparams[:yy]params[:mm]を渡すことができる。つまり、http://localhost/posts/11/22とすると、indexアクションの中でparams[:yy]に11が、params[:mm]に22が入る。また、http://localhost/posts/11http://localhost/posts/のように省略することも可能。当然、省略した物の値は入らない。

match "/posts/(:yy(/:mm))' => "posts#index"

リダイレクト

文字通りリダイレクト。

match "yahoo" => redirect("http://yahoo.co.jp")  #外部サイトにリダイレクト
match "foo/:id" => redirect("/bar/%{id}")  #/foo/1が指定されたら/bar/1にリダイレクトされる

省略形

下記二つは同じ意味を表します。

get "posts/description"
match "posts/description" => "posts#description", :via => "get"

この仕組についてはここに詳しい記事があります。
Rails3 のルーティングの仕組み

定のコントローラに対するルートをまとめる

下記例ではhttp://localhost:3000/newhttp://localhost:3000/deleteにアクセスすると、それぞれpostsコントローラのnewアクションとdeleteアクションが実行される。

controller :posts do
     match 'new' => :new
     match 'delete', => :delete
end

#まとめない書き方をすると
match "posts/new" => "posts#new"
match "posts/delete" => "posts#delete"

とこんな感じです。前回分合わせて初心者が困らない分位は調べられたと思います。後は困ったときに都度調べていこうかと思います。



↓ブログランキングに一票をお願いします!

さらにFacebookページに「いいね!」でありがたき幸せ。