icon 2011/07/17 Rails 3.0 の基礎
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 でアクセスする。
rails
ちゃんとDB(Active Record)も有効になってます。
rails

コントローラ/ビューの作成


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' %>

このサイトについて

HTML5 & CSS3化しつつあるので、現在IEには対応してません。
できれば、Google Chromeやら Apple SafariのWebKit系をお勧めします。

DBからプログラムまで一応全て自作なので、バグってたらすいません。
実験でFlash版(Flex版)を先に作りましたが、ちょっと停止してます。

プロフィール

新宿近辺でSE & プログラマーしてます。
Webアプリの開発・設計とか、最近はiPhoneとか奮闘してます。
デザインはさっぱりです。

音楽は、昔からCubase打ち込み人間で、そっちの方が経歴は長いですが、最近はやる暇がないです。。。

今は、Gon's Privates ってバンドのキーボードやってます。
単発的に、なんちゃってジャズ系のライブもやってます。

名古屋生まれなのでドラゴンズ好きです。

Info && SNS

Gmail

 yohei.yoshikawa@gmail.com

Twitter

 http://twitter.com/yoo_yoo_yoo

あんまつぶやきませんが、一応技術系メインで使ってます。情報交換はこちらへ

FaceBook

 http://www.facebook.com/#!/profile.php?id=1439130626

海外の知り合いがいないので閑散としてます。

mixi

 http://mixi.jp/show_profile.pl?id=230072

音楽仲間とかはこっちメインでやってます。興味があればこちらへ