Mais conteúdo relacionado
Semelhante a Ruby on Rails 入門 (20)
Ruby on Rails 入門
- 13. Ruby って
どんなカンジ?
とてもイイ
目を慣らさないと Rails に入れない
Rails に行く前に軽く説明します
- 14. Ruby 事始め
用意するもの
Ruby, RubyGem
RoR 対応バージョンは 1.8
Windows なら One-Click Installer
http://rubyinstaller.rubyforge.org/wiki/wiki.pl
- 21. 引数のある
メソッドを呼ぶ
dog = Dog.new
dog.eat(100)
DEMO
- 22. メソッドの () の省略
dog = Dog.new
dog.eat 100
省略してもわかるものは省略できる
書式の統一よりのびのびした使い勝手
自由 > 統制
DEMO
- 31. ハッシュ
h = Hash.new
h = {}
h = {:id => 1, :name => 'Pochi'}
p[:id]
p[:name]
RoRでは基本中の基本となるクラス
:id ・・・シンボル(Symbol) DEMO
- 36. RoR事始め
∼用意するもの∼
> gem install rails
Rails を Ruby 環境に入れる
Rails の最新バージョンは 2.0.2
DBを用意
IDE(Aptana, NetBeans etc)を用意
- 37. アプリケーションを作る
IDE から New Project
コマンドラインなら次のようにする
> rails myapp
→プロジェクトで使うファイルや
ディレクトリ構造が作られる
DEMO
- 45. Controller, View と
つなげて動かす
「Seminar」モデルのメンテナンスの
ためのコントローラ
「SeminarsController」を作る
簡単な登録フォームと一覧を作る
DEMO
- 51. Rails のコンソール
> ruby script/console
Rails のライブラリがすべて使える状態
のコンソール
ちょっとした動作確認に便利
これを使いつつ説明していきます
DEMO
- 53. Form から DBへ
画面
<%= text_field :seminar, :title %>
リクエストパラメータ
{:seminar => {:title => 値}}
コントローラ
seminar = Seminar.new(params[:seminar])
- 56. レコードを検索する
全件検索
@seminars = Seminar.find(:all)
2008年開催のものを検索する
@seminars = Seminar.find(:all,
:conditions => "date >= '2008-01-01'
and date < '2009-01-01'")
DEMO
- 60. 1 対 多の関連を張る
class Seminar < ActiveRecord::Base
has_many :participants
end
class Participant < ActiveRecord::Base
belongs_to :seminar
end
DEMO
- 62. 関連の
Eager Loading
Seminar.find(:all,
:include => :participants)
一度の検索で関連オブジェクトも取得
デフォルトは Lazy Loading
- 64. 必要な情報だけを
取得する
dates = Seminar.find(:all,
:select => 'date')
必要なカラムの情報だけを取得するこ
ともできる
DEMO
- 65. SQLの
チューニング
ActiveRecord が実際に使ったSQLは
開発ログに出る
それを見ながらチューニング
いざとなったらSQLを書く手も
- 68. 単一テーブル継承
継承関係にある複数のクラスを
class
table
class class
1つのテーブルに対応づける
- 82. RoRに必要な
マインド
フレームワークに合わせる協調性
フレームワークを拡張する勇気
プラグインとの適切な距離感
- 90. ImageUpload
プラグイン
http://imageupload.rubyforge.org/
伊藤忠商事 Tlab で開発
かっこよく画像をアップロードするプ
ラグイン