RubyOnRailsのルーディング
RubyOnRailsのルーティングはブラウザのURLを判断してコントローラーとそれに対応したアクションを呼び出します。さらにアクションはアクションに対応したhtmlファイルを呼び出します。
RubyOnRailsのルーティングはただひとつだけ注意点があり、:idをつかったルーティングより上に書くようにします:idはなににでもマッチしてまうので注意が必要です。
たとえば get “posts/:id” => “posts/#show”というルーティングがあった場合、
get “posts/index” => “posts/index”は:idをつかっているよりルーティングよりも上に書く必要があります。
:idはなににでもマッチしてしまうのでURLでアクセスしたときにエラーがおきてしまいます。
この画像のように get “posts/index” => “posts#index”は :id がついているものより上の行に書く必要があります。ここからもわかるようにRubyOnRailsのルーティングを書く順番は:idがついたルーティングに注意すればよいことがわかります。
ルーティングは:idがついているルーティングに合致しそうなURLがある場合は:idがついているルーティングよりも上に書くようにします。
コメント