Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yasuko Ohba
11,302 views
Ruby on Rails 入門
2008-03-10 に club db2 にて行った Ruby on Rails 入門セミナーの資料です。
Technology
◦
Read more
33
Save
Share
Embed
Embed presentation
Download
Downloaded 70 times
1
/ 91
2
/ 91
3
/ 91
4
/ 91
5
/ 91
6
/ 91
7
/ 91
8
/ 91
9
/ 91
10
/ 91
11
/ 91
12
/ 91
13
/ 91
14
/ 91
15
/ 91
16
/ 91
17
/ 91
18
/ 91
19
/ 91
20
/ 91
21
/ 91
22
/ 91
23
/ 91
24
/ 91
25
/ 91
26
/ 91
27
/ 91
28
/ 91
29
/ 91
30
/ 91
31
/ 91
32
/ 91
33
/ 91
34
/ 91
35
/ 91
36
/ 91
37
/ 91
38
/ 91
39
/ 91
40
/ 91
41
/ 91
42
/ 91
43
/ 91
44
/ 91
45
/ 91
46
/ 91
47
/ 91
48
/ 91
49
/ 91
50
/ 91
51
/ 91
52
/ 91
53
/ 91
54
/ 91
55
/ 91
56
/ 91
57
/ 91
58
/ 91
59
/ 91
60
/ 91
61
/ 91
62
/ 91
63
/ 91
64
/ 91
65
/ 91
66
/ 91
67
/ 91
68
/ 91
69
/ 91
70
/ 91
71
/ 91
72
/ 91
73
/ 91
74
/ 91
75
/ 91
76
/ 91
77
/ 91
78
/ 91
79
/ 91
80
/ 91
81
/ 91
82
/ 91
83
/ 91
84
/ 91
85
/ 91
86
/ 91
87
/ 91
88
/ 91
89
/ 91
90
/ 91
91
/ 91
More Related Content
PDF
ぼくのかんがえたさいきょうの Rails スタートダッシュ
by
Kenji Mori
PPTX
Ruby on Rails を用いたWEBアプリケーションの開発
by
Koichi Shimozono
PDF
Ruby on Rails の特徴とそのエコシステム
by
Tomoya Kawanishi
PDF
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
by
Masayuki Morita
ODP
高トラフィックサイトをRailsで構築するためのTips基礎編
by
Kazuya Numata
PDF
Rails解説セミナー: Rails国際化 (I18n) API
by
Yohei Yasukawa
PDF
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
PPTX
SunspotではじめるSolr入門
by
Takao Baba
ぼくのかんがえたさいきょうの Rails スタートダッシュ
by
Kenji Mori
Ruby on Rails を用いたWEBアプリケーションの開発
by
Koichi Shimozono
Ruby on Rails の特徴とそのエコシステム
by
Tomoya Kawanishi
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
by
Masayuki Morita
高トラフィックサイトをRailsで構築するためのTips基礎編
by
Kazuya Numata
Rails解説セミナー: Rails国際化 (I18n) API
by
Yohei Yasukawa
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
SunspotではじめるSolr入門
by
Takao Baba
What's hot
PDF
Rails解説セミナー: リリースノート解説編
by
Yohei Yasukawa
PDF
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
by
Kanako Kobayashi
PDF
Rails解説セミナー: Railsのアップグレード編
by
Yohei Yasukawa
PDF
Sprocketsを捨てたい
by
Masato Noguchi
PDF
Bundler 2 の胎動
by
Koichi ITO
PDF
RESTとRailsスタイル
by
Toru Kawamura
PDF
Swiftで外部ライブラリを使ってみよう
by
Kanako Kobayashi
PDF
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
by
Kazuhiro Sera
PPTX
Railsのフロントエンド開発を考える
by
Hirata Tomoko
PDF
ゲーム会社でのRuby : rails活用事例
by
Yasutomo Uemori
PDF
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
by
Asami Abe
PDF
Rubyの仕事で食べていくために僕らは!
by
Ouka Yuka
PDF
Scala.js触ってみた
by
Asami Abe
PDF
僕はどうしてもLibsassが使いたかったんだ!
by
Masato Noguchi
PDF
Dark vol4 for_slideshare
by
ara_ta3
PPTX
RubyでGUIアプリケーションを書く
by
Misao X
PDF
Next GAE Heroku を使って 3分でRailsアプリをリリース
by
よしだ あつし
PDF
Ember コミュニティとわたし
by
Ryunosuke SATO
Rails解説セミナー: リリースノート解説編
by
Yohei Yasukawa
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
by
Kanako Kobayashi
Rails解説セミナー: Railsのアップグレード編
by
Yohei Yasukawa
Sprocketsを捨てたい
by
Masato Noguchi
Bundler 2 の胎動
by
Koichi ITO
RESTとRailsスタイル
by
Toru Kawamura
Swiftで外部ライブラリを使ってみよう
by
Kanako Kobayashi
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
by
Kazuhiro Sera
Railsのフロントエンド開発を考える
by
Hirata Tomoko
ゲーム会社でのRuby : rails活用事例
by
Yasutomo Uemori
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
by
Asami Abe
Rubyの仕事で食べていくために僕らは!
by
Ouka Yuka
Scala.js触ってみた
by
Asami Abe
僕はどうしてもLibsassが使いたかったんだ!
by
Masato Noguchi
Dark vol4 for_slideshare
by
ara_ta3
RubyでGUIアプリケーションを書く
by
Misao X
Next GAE Heroku を使って 3分でRailsアプリをリリース
by
よしだ あつし
Ember コミュニティとわたし
by
Ryunosuke SATO
Viewers also liked
PDF
バカでもわかるRails #02
by
Daisuke Ishii
PDF
Ruby on Rails でつくるアタシ好みの愛され Web サービス
by
Yoji Shidara
PDF
Railsチュートリアルの歩き方 (第4版)
by
Yohei Yasukawa
PDF
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
PDF
Webデザインのセオリーを学ぼう
by
Toshiaki Sasaki
PPT
色彩センスのいらない配色講座
by
Mariko Yamaguchi
PPT
Building Modelsvwith Active Model
by
Shozo Hatta
PDF
docxをmdで書こう
by
Yukimitsu Izawa
PDF
Duolingo.pptx
by
syou6162
PDF
WordPressでサイト作成するときに知っておくといいことあれこれ
by
YUKI YAMAGUCHI
PDF
Rubyを楽しくする第一歩!ブロックを理解する!
by
Kanako Kobayashi
PDF
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
by
Mayumi Narisawa
PDF
Railsチュートリアルの歩き方 (第3版)
by
Yohei Yasukawa
PDF
ヒカルのGo 資料 Webアプリケーションの作り方
by
Yosuke Furukawa
PPTX
FINAL FANTASY Record Keeperを支えたGolang
by
Yoshiki Shibukawa
PDF
GoでMinecraftっぽいの作る
by
京大 マイコンクラブ
PPTX
【初心者向け】Go言語勉強会資料
by
Yuji Otani
PDF
最強オブジェクト指向言語 JavaScript 再入門!
by
Yuji Nojima
PDF
Go MobileでAndroidアプリ開発
by
Takuya Ueda
PDF
伝わるプレゼンをする方法
by
Hideaki Miyake
バカでもわかるRails #02
by
Daisuke Ishii
Ruby on Rails でつくるアタシ好みの愛され Web サービス
by
Yoji Shidara
Railsチュートリアルの歩き方 (第4版)
by
Yohei Yasukawa
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
Webデザインのセオリーを学ぼう
by
Toshiaki Sasaki
色彩センスのいらない配色講座
by
Mariko Yamaguchi
Building Modelsvwith Active Model
by
Shozo Hatta
docxをmdで書こう
by
Yukimitsu Izawa
Duolingo.pptx
by
syou6162
WordPressでサイト作成するときに知っておくといいことあれこれ
by
YUKI YAMAGUCHI
Rubyを楽しくする第一歩!ブロックを理解する!
by
Kanako Kobayashi
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
by
Mayumi Narisawa
Railsチュートリアルの歩き方 (第3版)
by
Yohei Yasukawa
ヒカルのGo 資料 Webアプリケーションの作り方
by
Yosuke Furukawa
FINAL FANTASY Record Keeperを支えたGolang
by
Yoshiki Shibukawa
GoでMinecraftっぽいの作る
by
京大 マイコンクラブ
【初心者向け】Go言語勉強会資料
by
Yuji Otani
最強オブジェクト指向言語 JavaScript 再入門!
by
Yuji Nojima
Go MobileでAndroidアプリ開発
by
Takuya Ueda
伝わるプレゼンをする方法
by
Hideaki Miyake
Similar to Ruby on Rails 入門
PPT
Start!! Ruby
by
mitim
PDF
nomlab_okayamaruby_slide
by
nomlab
PDF
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
PDF
ゼロからのプログラミングRails講座 Codeanywhere版
by
DIVE INTO CODE Corp.
PDF
Rails初心者レッスン lesson4 2edition
by
Satomi Tsujita
PDF
Next-L Enju 開発WS #03 Ruby on Railsの使い方
by
Kosuke Tanabe
PDF
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
by
DIVE INTO CODE Corp.
PDF
超高速アプリ開発法
by
Keiichi SASAKI
PDF
Ruby and ActiveSupport for expart
by
xibbar
PDF
nomlab_okayamaruby_subslide
by
nomlab
PPT
第1部「一時間で覚えるruby」
by
Hiromu Shioya
KEY
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
by
Yasuko Ohba
PPTX
【勉強会】 はじめてのRuby on Rails 4入門
by
Yuta Nakamura
PDF
プロが教える Rails 教え方ワンポイントとキャリア情報
by
DIVE INTO CODE Corp.
PDF
Ruby 初級者向けレッスン 49回───クラス
by
higaki
PDF
Meta programing ruby monday
by
Yuisho Takafuji
PDF
20110820 metaprogramming
by
Masanori Kado
PPTX
そんな装備で大丈夫か?
by
2celeb
PDF
Rubyプログラミング教育に対する取り組みと事例紹介
by
Yasushi Ishikawa
PDF
現実世界のJRuby(ショートバージョン)
by
Hiroshi Nakamura
Start!! Ruby
by
mitim
nomlab_okayamaruby_slide
by
nomlab
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
ゼロからのプログラミングRails講座 Codeanywhere版
by
DIVE INTO CODE Corp.
Rails初心者レッスン lesson4 2edition
by
Satomi Tsujita
Next-L Enju 開発WS #03 Ruby on Railsの使い方
by
Kosuke Tanabe
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
by
DIVE INTO CODE Corp.
超高速アプリ開発法
by
Keiichi SASAKI
Ruby and ActiveSupport for expart
by
xibbar
nomlab_okayamaruby_subslide
by
nomlab
第1部「一時間で覚えるruby」
by
Hiromu Shioya
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
by
Yasuko Ohba
【勉強会】 はじめてのRuby on Rails 4入門
by
Yuta Nakamura
プロが教える Rails 教え方ワンポイントとキャリア情報
by
DIVE INTO CODE Corp.
Ruby 初級者向けレッスン 49回───クラス
by
higaki
Meta programing ruby monday
by
Yuisho Takafuji
20110820 metaprogramming
by
Masanori Kado
そんな装備で大丈夫か?
by
2celeb
Rubyプログラミング教育に対する取り組みと事例紹介
by
Yasushi Ishikawa
現実世界のJRuby(ショートバージョン)
by
Hiroshi Nakamura
More from Yasuko Ohba
PDF
Rubyによる開発プロジェクトをうまく回すには(2)
by
Yasuko Ohba
PDF
Rubyによる開発プロジェクトをうまく回すには(1)
by
Yasuko Ohba
PDF
TECH LAB PAAK 2015/06/24 Team Development
by
Yasuko Ohba
PDF
女性IT技術者と働き方 情報処理学会77
by
Yasuko Ohba
PDF
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
by
Yasuko Ohba
PDF
世界を描く Drawing the world
by
Yasuko Ohba
PDF
Sendai ruby-02
by
Yasuko Ohba
PDF
Good Names in Right Places on Rails
by
Yasuko Ohba
PDF
ごきげんRails
by
Yasuko Ohba
PDF
名前のつけ方
by
Yasuko Ohba
PDF
Shimane2010
by
Yasuko Ohba
PDF
Smell in Rails Apps (in Sapporo RubyKaigi03)
by
Yasuko Ohba
PDF
The Basis of Making DSL with Ruby
by
Yasuko Ohba
PDF
Sub Resources Rails Plug-in
by
Yasuko Ohba
PDF
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
by
Yasuko Ohba
PDF
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
by
Yasuko Ohba
PDF
Raspbilly
by
Yasuko Ohba
PDF
テスト大嫌いっ娘のRSpec
by
Yasuko Ohba
PDF
Shimane2008
by
Yasuko Ohba
PDF
image_upload Plugin 2007/12/7
by
Yasuko Ohba
Rubyによる開発プロジェクトをうまく回すには(2)
by
Yasuko Ohba
Rubyによる開発プロジェクトをうまく回すには(1)
by
Yasuko Ohba
TECH LAB PAAK 2015/06/24 Team Development
by
Yasuko Ohba
女性IT技術者と働き方 情報処理学会77
by
Yasuko Ohba
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
by
Yasuko Ohba
世界を描く Drawing the world
by
Yasuko Ohba
Sendai ruby-02
by
Yasuko Ohba
Good Names in Right Places on Rails
by
Yasuko Ohba
ごきげんRails
by
Yasuko Ohba
名前のつけ方
by
Yasuko Ohba
Shimane2010
by
Yasuko Ohba
Smell in Rails Apps (in Sapporo RubyKaigi03)
by
Yasuko Ohba
The Basis of Making DSL with Ruby
by
Yasuko Ohba
Sub Resources Rails Plug-in
by
Yasuko Ohba
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
by
Yasuko Ohba
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
by
Yasuko Ohba
Raspbilly
by
Yasuko Ohba
テスト大嫌いっ娘のRSpec
by
Yasuko Ohba
Shimane2008
by
Yasuko Ohba
image_upload Plugin 2007/12/7
by
Yasuko Ohba
Ruby on Rails 入門
1.
Ruby on Rails
入門 2008. 3. 10 株式会社万葉 大場寧子
2.
自己紹介 実装大好きプログラマ Award on Rails
2006 大賞受賞 Ruby歴2年 会社を作りました
3.
デブサミ後の飲み会にて キムラデービーさんと感動の(?)再会 ちょうどいいから Ruby on
Rails の入 門講師をやってください
4.
Ruby on Rails Webアプリケーションフレームワーク Ruby オールインワン
5.
RoRとの出会い 2006年春 マネージャーをやめてプログラムを楽 しむことにする Java サーバの用意を旦那にねだる
6.
RoRとの出会い 2006年春 マネージャーをやめてプログラムを楽 しむことにする Java サーバの用意を旦那にねだる
断られた
7.
ふてくされる ミドルウェア苦手です 代わりに「Ruby on Rails」の本を手渡 される なぜか環境も用意されている ・・・・しぶしぶ手をつける
8.
RoR ってスゴイ! スイスイ作れる 実は本格的 かゆいところに手が届く
9.
楽しい! そのままどんどん作り続けた 旦那が、Award on Rails
を薦める 大賞・審査員特別賞を頂戴する
10.
ずっと RoR 業務でもRuby on
Rails ECサイト SNS 医事会計 地球の歩き方 旅すけ
11.
今日のお題 Ruby ってどんなカンジ? Ruby on
Rails の雰囲気をつかむ ActiveRecord について少し詳しく 実際に現場で使っての感想
12.
時間配分 Ruby - 10分 Ruby
on Rails - 30分 ActiveRecord - 20分 現場 - 5分
13.
Ruby って
どんなカンジ? とてもイイ 目を慣らさないと Rails に入れない Rails に行く前に軽く説明します
14.
Ruby 事始め
用意するもの Ruby, RubyGem RoR 対応バージョンは 1.8 Windows なら One-Click Installer http://rubyinstaller.rubyforge.org/wiki/wiki.pl
15.
irb Ruby の動作を対話的に試せる > irb
これを使いながらRubyの動作を 説明していきます。 DEMO
16.
クラスの定義 class Dog end Dog
というクラスができます DEMO
17.
インスタンスを作る dog = Dog.new
dog という変数ができます Dog クラスのインスタンスが作ら れ、dog に代入されます DEMO
18.
メソッドの定義 class Dog def
say p 'Baw!' end end インスタンスメソッド say を定義する DEMO
19.
メソッドを呼ぶ dog = Dog.new dog.say
dog の say メソッドを呼ぶ DEMO
20.
引数のあるメソッド def eat(food) if
food p 'Thank you!' else p 'oooooo' end end DEMO
21.
引数のある
メソッドを呼ぶ dog = Dog.new dog.eat(100) DEMO
22.
メソッドの () の省略 dog
= Dog.new dog.eat 100 省略してもわかるものは省略できる 書式の統一よりのびのびした使い勝手 自由 > 統制 DEMO
23.
インスタンス変数 class Dog def
name=(name) @name = name end end @がついた変数はインスタンス変数 外部から直接アクセスできない DEMO
24.
クラスを調べてみる dog.kind_of?(Dog) dog.kind_of?(Object) dog.kind_of?(String) p dog.class 継承元クラスを明示的に指定しないと
Object クラスの派生クラスになる DEMO
25.
クラスの継承 class Sheltie <
Dog def say p 'coon' end end Dog の派生クラス Sheltie を作る DEMO
26.
すべてがオブジェクト p 'Wow'.class p 100.class p
Dog.class プリミティブ型という概念なし クラスもオブジェクト DEMO
27.
動的型づけ 型宣言なし =すべての変数の型が Object である のと一緒 型の整合性は気にしない 動作するかどうかだけが重要
28.
文字列 "文字列です" "その犬の種類は #{dog.class.name} で す"
Stringクラス "..."では、#{}で評価結果を埋め込むこ とができる DEMO
29.
文字コード Ruby 1.8 では、文字列はバイト列 RoR
では utf-8を使う 日本語の操作は正規表現万歳 Ruby 1.9 では国際化された
30.
配列 a = Array.new a
= [] a = [1, 2, 3] p a[1] p a.size リスト操作は基本的に配列を使う DEMO
31.
ハッシュ h = Hash.new h
= {} h = {:id => 1, :name => 'Pochi'} p[:id] p[:name] RoRでは基本中の基本となるクラス :id ・・・シンボル(Symbol) DEMO
32.
引数にハッシュを渡す dog.eat( {:name
=> 'meat', :price => 320} ) 320円の肉を食べる DEMO
33.
ハッシュの{ }の省略 dog.eat :name
=> 'meat', :price => 320 任意のオプションを引数として渡すの に多用される DEMO
34.
null じゃなくて nil 世の中で
false なのは nil と false だけ 0 も false ではない
35.
あとのことは Ruby リファレンスマニュアル http://www.ruby-lang.org/ja/man/html/index.html
36.
RoR事始め
∼用意するもの∼ > gem install rails Rails を Ruby 環境に入れる Rails の最新バージョンは 2.0.2 DBを用意 IDE(Aptana, NetBeans etc)を用意
37.
アプリケーションを作る IDE
から New Project コマンドラインなら次のようにする > rails myapp →プロジェクトで使うファイルや ディレクトリ構造が作られる DEMO
38.
RoR の MVC app/controllers
app/models Controller Model DB View app/views
39.
Controller を動かす 勉強会参加者の管理アプリを作ってみ ます まずは Top
Page でも DEMO
40.
URL, Controller, View http://localhost:3000/top_page/index
TopPageController index アクション
41.
routes.rb どのURLに対してどのコントローラの どのアクションを呼び出すか定義 デフォルトの動作も定義されている
42.
URLが設計に影響 Controller クラスをどう分割するか RESTfulにするのに適した設計 モデルのCRUDとの自動対応
43.
データベースの準備 データベースを作る database.ymlを設定する
44.
モデルを作る 「Seminar」クラスを作ろう テーブル名は seminars title, date,
description を持つ Migrationでテーブルを作る モデルクラスを作る DEMO
45.
Controller, View と
つなげて動かす 「Seminar」モデルのメンテナンスの ためのコントローラ 「SeminarsController」を作る 簡単な登録フォームと一覧を作る DEMO
46.
Scaffold このような定型的な処理には Scaffold が利用できる あくまでも開発のための足場であっ て、完成品ではない
DEMO
47.
ActiveScaffold 完成品にしちゃえばいいじゃない! というプラグイン 管理機能などに便利
DEMO
48.
惑わされない Rails というと Scaffold
が有名 汎用的な実装を楽にするためのツール に過ぎない 人は Scaffold のために作るにあらず 本当の価値は、総合的な生産効率
49.
ActiveRecord O/R マッピング テーブル → クラス レコード → インスタンス
50.
ActiveRecordの
使い方 登録する 検索する 設計する
51.
Rails のコンソール > ruby
script/console Rails のライブラリがすべて使える状態 のコンソール ちょっとした動作確認に便利 これを使いつつ説明していきます DEMO
52.
レコードを登録する seminar = Seminar.new(
:title => 'Ruby on Rails 入門', :date => Date.today ) seminar.save インスタンスを作って save する DEMO
53.
Form から DBへ 画面
<%= text_field :seminar, :title %> リクエストパラメータ {:seminar => {:title => 値}} コントローラ seminar = Seminar.new(params[:seminar])
54.
バリデーション save を呼ぶと、内部でバリデーション メソッドが走る 空でないか? ユニークか? etc 違反があれば、保存されない
DEMO
55.
登録の前後に 好きな処理を挟める コールバック before_save before_validation after_save create専用、update専用もある
56.
レコードを検索する 全件検索 @seminars
= Seminar.find(:all) 2008年開催のものを検索する @seminars = Seminar.find(:all, :conditions => "date >= '2008-01-01' and date < '2009-01-01'") DEMO
57.
find_by_xxx find_by_date など、カラムごとの検索
メソッドが自動的に使えるようになる today_seminars = Seminar.find_by_date(Date.today) DEMO
58.
join find のオプションで :joins
で JOIN句 をそのまま記述する join したデータを後で使うなら、「関 連」を使うほうが楽
59.
「関連」を使った検索 「Seminar」には「Participant」(参
加者)が複数いる <% for p in seminar.participants %> ... 参加者情報の表示 ... <% end %> DEMO
60.
1 対 多の関連を張る class
Seminar < ActiveRecord::Base has_many :participants end class Participant < ActiveRecord::Base belongs_to :seminar end DEMO
61.
関連を使う セミナーオブジェクトから参加者を得る participants = seminar.participants 参加者オブジェクトからセミナーを得る seminar
= participant.seminar
62.
関連の
Eager Loading Seminar.find(:all, :include => :participants) 一度の検索で関連オブジェクトも取得 デフォルトは Lazy Loading
63.
count, max など count
= Seminar.count last_date = Sminar.maxmum('date')
64.
必要な情報だけを
取得する dates = Seminar.find(:all, :select => 'date') 必要なカラムの情報だけを取得するこ ともできる DEMO
65.
SQLの
チューニング ActiveRecord が実際に使ったSQLは 開発ログに出る それを見ながらチューニング いざとなったらSQLを書く手も
66.
モデルを設計する オブジェクト指向とテーブル設計をいっ たりきたりしながら最適なポイントを 探す 両者のギャップを埋めるための高度な 機能が存在
67.
高度な機能 単一テーブル継承 ポリモーフィック関連
68.
単一テーブル継承
継承関係にある複数のクラスを class table class class 1つのテーブルに対応づける
69.
単一テーブル継承 テーブルの type カラムにクラス名が格 納される 操作対象のクラスによって、 ActiveRecord
がよきにはからう オブジェクト指向で作れる
70.
ポリモーフィック関連
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
71.
ポリモーフィック関連
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
72.
ポリモーフィック関連 タグが
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
73.
ポリモーフィック関連 タグが
いろいろなものにつく * 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
74.
ActiveRecord 凄い! オブジェクト指向で開発できる 自由度が高い 規約どおりにつくればコード量がとて も少なくて済む
75.
RoR の開発現場 アジャイルがお奨め モデル設計 →
URL設計 → 実装 10人くらい参加しても大丈夫
76.
ありがちな心配 コンパイル時のチェックがなくて品質 は大丈夫か? 分業しづらい? 大規模開発に向かない? パフォーマンスが悪い?
77.
案外大丈夫 テストをしっかりやれば品質は上げら れる オブジェクト指向に乗っ取れば分業は まったく問題ない 大規模開発もできる ただし、楽しくなくなるかも
78.
パフォーマンス 何も気にせず作ると、かなり遅い チューニング必須 キャッシュやDBまわりのチューニング でかなり速くなる
79.
テスト Rails には 3種類のテストフレームワー クが備わっている Unit
テストは使いやすい コントローラ・ビューのテストは Selenium が便利
80.
Ruby, Rails の習得 Java経験者なら構文はすぐ習得 1ヶ月もすれば開発戦力に らしい
プログラムを書くには3ヶ月 くらいかかる
81.
私の重視する開発習慣 コミュニケーション 名前づけの重視 DRY(同じコードを重複して書かな い)の追求 まず仮定し、あとで調節する
82.
RoRに必要な
マインド フレームワークに合わせる協調性 フレームワークを拡張する勇気 プラグインとの適切な距離感
83.
Rails に合わせる Rails の規約に従わないことは可能 大きなコストが伴う できるだけ仕様をRailsに合わせること が高い生産性を得るコツ
84.
Rails に呑まれない Rails にないからといって諦めない Ruby
も Rails も動作を上書きできる 何でもできる 勇気を持つ
85.
やりすぎない できるとやりたくなる 過ぎたるは及ばざるがごとし 改変ではなく拡張にとどめる バランスが難しい
86.
プラグイン いろいろ使えるようになっておくと開 発がとても早い ソースを読む覚悟で使う 国際化不足のものもある Railsのバージョンアップがしづらく なったりする
87.
サービス紹介 Web家計簿「小槌」 BookScope ImageUpload プラグイン
88.
小槌 http://www.kozuchi.net ユーザー間の貸し借り連動記入など
89.
BookScope http://bookscope.net 貸し借り管理のできる蔵書システム
90.
ImageUpload
プラグイン http://imageupload.rubyforge.org/ 伊藤忠商事 Tlab で開発 かっこよく画像をアップロードするプ ラグイン
91.
ご静聴ありがとうございました。
ご指摘・ご質問等は y.ohba@everyleaf.com までお願いします。
Download