Railsでの開発がどんなものなのかを味わってみませんか? このチュートリアルに従って始めましょう!
対応したプラットフォームのRuby/Railsをインストールし、SQLiteがインストールされていることを確認します(Macをお持ちの場合は付属しています)。インストールに関するwikiページはこちらです: Mac、 Windows、 Linux。
$ rails myapp
これで、Railsアプリケーションのスケルトンが作成されます。
$ cd myapp
config/database.yml ファイルを開きます。ここでは、アプリケーションごとに異なるデータベースを設定できますが、この例では何も設定を変更するべきではありません。デフォルトのデータベース名は、すでにお気づきかもしれませんが、Railsアプリケーションから取得されています。 $ rake db:create
これで開発データベースが作成されます。
$ ruby script/generate scaffold
しばらくするとアウトプットが生成されます。どのようにコマンドを使うかが表示されます。
$ ruby script/generate scaffold user first_name:string last_name:string active:boolean
コピーペーストでもかまいませんよ、誰にも言いませんから。これで、scaffoldが作成されました、これはたくさんのテンプレートの固まりです。
$ rake db:migrate
$ rake db:rollback
これでひとつのマイグレーションがロールバックされます。
/db/migrations/ または /db/migrate/ ディレクトリにあるマイグレーションを開きます。一つだけファイルがあるはずです。t.boolean :active 行のあとに、こちらを追加します: t.text :bio
rake db:migrate を再び実行し、データベースをマイグレーションします: $ rake db:migrate
/app/views/users/new.html.erb ファイルを開きましょう。これが新しいフォームを記述しています。active checkbox の下に、下記のコードを追加してbio列を追加する必要があります。<p> <%= f.label :bio %><br /> <%= f.text_area :bio %> </p>
追加で、”edit” ビュー(/app/views/users/edit.html.erb にあります)を更新したい場合も同じコードを使うことができ、ユーザーのbioを更新できるようになります。/app/views/users/show.html.erb ファイルを開き、, and underneath the Active field の下にこれを追加します:<p> <b>Bio:</b> <%=h @user.bio %> </p>
/app/models/user.rbを開いてみましょう。class User < ActiveRecord::Base validates_presence_of :first_name, :last_name end
/app/views/layouts/users.html.erb ファイルが作成され、レイアウトとして利用されます。users.html.erb を application.html.erbにリネームします。Railsの規約では、layoutsディレクトリにapplication.html.erbファイルがあった場合は、すべてのコントローラーがそれがデフォルトとして利用します(必要な場合はあとでオーバーライドすることも出来ます)。application.html.erb を開き、このような追加をします: <h2>Rails Rocks!</h2>
$ ruby script/console
Ruby IRB セッションに入り、モデルにアクセスしています。
$ ActiveRecord::Base.logger = Logger.new(STDOUT)
puts "Hello Dude!"
u = User.new u.first_name = "Gregg" u.last_name = "Pollack" u.save
Notice the SQL that is generated.
User.create(:first_name => "Joe", :last_name => "Blow")
エラーになった場合は、文法の問題がないかを確認します。
u = User.find_by_first_name("Joe") u.last_name = "Johnson" u.save
SQLが生成されることが確認できました; すばらしい!
u.destroy
User.first User.last User.all
変数に好きな値を設定し、属性を変更しながら遊んでみましょう。 .all が配列を返すことを確認します、 [0] や [2] を利用して配列の特定のアイテムを参照してはどうでしょう。
User.all.each {|user| puts user.first_name.upcase }
User.all.map {|user| user.last_name }
ここで興味があるのは返り値で、ラストネームの配列のはずです。
The Getting Started with Rails Guide contains another fun walkthrough, but with additional explanation of Rails architecture.
掲示板