namespaceを使ったURLを作る

管理者ページだとかには以下の様に"admin"階層がある。

http://localhost.com/admin/post/new/

この階層の作成方法のメモ。

環境

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]
Rails 3.2.0

rvmのgemsetを作成する

$rvm use 1.9.3-p194@rails3.2 --create

gem install

$rails gem install rails -v 3.2
$rails gem install sqlite3-ruby

アプリ作成

$rails new admin_test
$cd admin_test/

コントローラー作成

rails g controller admin/posts

ここで階層の"admin"が登場。

ルーティング編集

 namespace :admin do
    resources :posts , only: :index
 end

app/controllers/admin/posts_controller.rb

class Admin::PostsController < ApplicationController
  def   index
  end 
end

一行目がミソ。

app/views/admin/posts/index.html.erb作成

中身適当

ブラウザで確認

http://localhost:3000/admin/posts/