Rails3.0 のリリースに関してはRails 3.0 リリースノート和訳 - 前編で和訳されてます。 第2回: 新規アプリケーションの作成を参考にRails 3.0 を使ってみる。
$ rails new rails_test $ cd rails_test $ ls -al -rw-r--r-- 1 yoo yoo 36 2011-07-17 00:38 .gitignore -rw-r--r-- 1 yoo yoo 743 2011-07-17 00:38 Gemfile -rw-r--r-- 1 yoo yoo 1660 2011-07-17 01:06 Gemfile.lock -rw-r--r-- 1 yoo yoo 9126 2011-07-17 00:38 README -rw-r--r-- 1 yoo yoo 269 2011-07-17 00:38 Rakefile drwxr-xr-x 7 yoo yoo 4096 2011-07-17 00:38 app drwxr-xr-x 5 yoo yoo 4096 2011-07-17 00:38 config -rw-r--r-- 1 yoo yoo 159 2011-07-17 00:38 config.ru drwxr-xr-x 2 yoo yoo 4096 2011-07-17 00:38 db drwxr-xr-x 2 yoo yoo 4096 2011-07-17 00:38 doc drwxr-xr-x 3 yoo yoo 4096 2011-07-17 00:38 lib drwxr-xr-x 2 yoo yoo 4096 2011-07-17 00:38 log drwxr-xr-x 5 yoo yoo 4096 2011-07-17 00:38 public drwxr-xr-x 2 yoo yoo 4096 2011-07-17 00:38 script drwxr-xr-x 7 yoo yoo 4096 2011-07-17 00:38 test drwxr-xr-x 6 yoo yoo 4096 2011-07-17 00:38 tmp drwxr-xr-x 3 yoo yoo 4096 2011-07-17 00:38 vendor
ここら辺ファイル構成は、MVCに慣れてれば問題ないでしょう。 次に、DBを設定してアプリを起動。
$ bundle install Fetching source index for http://rubygems.org/ Using rake (0.9.2) Using abstract (1.0.0) ... $ sudo gem instal sqlite3 $ rails server
ブラウザからポート3000 でアクセスする。 ちゃんとDB(Active Record)も有効になってます。
tasks コントローラと index アクションを指定して作成。
$ rails generate controller tasks index create app/controllers/tasks_controller.rb route get "tasks/index" invoke erb create app/views/tasks create app/views/tasks/index.html.erb invoke test_unit create test/functional/tasks_controller_test.rb invoke helper create app/helpers/tasks_helper.rb invoke test_unit create test/unit/helpers/tasks_helper_test.rb
config/routes.rb にURLアクセス制御の関数が記述されている。
RailsTest::Application.routes.draw do
get "tasks/index"
end
この状態で http://host:3000/tasks/index でアクセスでき、
RailsTest::Application.routes.draw do
resources :tasks, :only => [ :index ]
end
と書き換えると、index を除いた http://host:3000/tasks でアクセスできます。 これは便利!
ここら辺も他のフレームワークと同じなので説明はいらないとは思いますが、
個別のビュー:app/コントローラ名/ビューファイル.erb レイアウト:app/views/layouts/application.html.erb
を修正してやるだけです。 ちなみに「app/views/layouts/コントローラ名.html.erb」レイアウトファイルを作成すると優先して利用されます。 ※application.html.erb は Rails 3.0 で自動作成されるようになったそうです
app/views/ディレクトリ名/ にアンダースコアで始まるテンプレートを入れ、読み込んでやるとパーツのテンプレートが利用できます。
app/views/_footer.html.erb を作成して、テンプレートファイルで読み込み。
<%= render 'ディレクトリ名/footer' %>