Slide 1

Slide 1 text

Rails3 初心者レッスン by Minami.rb 第 第3 3版 版 Rails3.2 Rails3.2 Lesson 1

Slide 2

Slide 2 text

このレッスンでやること一覧 1. Railsで何をする?どうしてRails? 2. 作ってみよう事始め 3. プロジェクトとテーブル 4. Railsの役割分担 5. Railsのディレクトリ構成 6. scaffold(デフォルト)でのURL 7. リレーションを考える 8. 日本語対応 9. 見た目をキレイに 10.プラグインを使う 11.ちょっとRubyに働いてもらう 12.herokuに公開しよう

Slide 3

Slide 3 text

この初心者レッスンを全部聞くと… 簡単なものなら、自分で作れるようになるでしょう Railsがわかった気になるでしょう Minami.rb初心者レッスンの講師になれます ↑が正しいかは皆さんの判断に任せます

Slide 4

Slide 4 text

Rails とは? (1) e.g. 以下のような処理を簡単に作れるようにしてくれる ・データにアクセスする処理 ・画面を切り替える処理 ・画面 Webアプリケーション作りを支援してくれる枠組み ⇒ Webアプリケーションフレームワーク

Slide 5

Slide 5 text

Rails とは? (2) 有名なRails製サイト twitter(※) http://twitter.com/ クックパッド http://cookpad.com/ 食べログ http://tabelog.com/ ※ 最近はScalaかも

Slide 6

Slide 6 text

どうして Rails? (1) ・Webアプリケーションに必要なものがそろっている ・フレームワーク ・DB ・Webサーバ ・アプリケーションとDBを簡単に連携する機能

Slide 7

Slide 7 text

どうして Rails? (2) ・便利なコマンド コマンドを実行するだけでいろいろな機能を 作ってくれる ・データにアクセスする処理 ・画面 ・etc

Slide 8

Slide 8 text

作ってみよう事始め ・何を作る? ・どんなデータ? ・どんな画面?

Slide 9

Slide 9 text

アプリケーションの新規作成 アプリケーション作成  $ rails new アプリケーション名  e.g. rails new tickets Webサーバ起動  $ rails server または rails s ⇒ ブラウザで http://localhost:8000/ にアクセス

Slide 10

Slide 10 text

コードの追加 (1) ⇒ 人もツールもアプリケーションの仕組みが理解しやすい Railsのアプリケーションは… ・同じファイル構造 ・厳格な命名規則

Slide 11

Slide 11 text

コードの追加 (2) アプリケーションの仕組みが理解しやすい ・コーディングを自動化できる ・アプリケーションが規則に従って実行してくれる ⇒ 設定が不要 設定より規約 (convention over configuration)

Slide 12

Slide 12 text

コードの追加 (3) Railsには便利で強力なツール scaffold がある scaffold は データの登録、読込み、更新、削除 に 必要なコードを生成してくれる scaffold コマンド  $ rails generate scaffold   データグループ名 メンバ1:データの型 メンバ2:データ型 e.g. rails generate scaffold ticket name:string address:string 単数形 (※) Railsには便利で強力なツール scaffold がある

Slide 13

Slide 13 text

コードの追加 (4) ブラウザで http://localhost:3000/tickets にアクセス ※ Webサーバの再起動は不要

Slide 14

Slide 14 text

データベースの作成 (1) エラーになるのはなぜ? ⇒ データベースを作っていないから データベースに接続して作成? ⇒ migration コマンドで作成 migration コマンド  $ rake db:migrate

Slide 15

Slide 15 text

データベースの作成 (2) テーブルを作成するために必要な情報は、 scaffold を実行した時に伝えてある  rails generate scaffold ticket name:string, … DRY(Don't repeat yourself) 同じことを繰り返さない Railsには重要な基本原則がある

Slide 16

Slide 16 text

データベースの作成 (3) DRY の原則に従って、scaffold を実行した時に テーブル作成用の Ruby スクリプトも生成される このスクリプトを rake というツールを使って実行すると migration が行われる ブラウザで http://localhost:3000/tickets にアクセス ※ Webサーバの再起動が必要

Slide 17

Slide 17 text

データベースの作成 (4) rails console  rails環境が設定された状態で起動するirb  オブジェクトの動作を直接確認するのに使う  終了するときは以下のように入力する   exit  --sandbox : DBのデータを変更しない

Slide 18

Slide 18 text

データベースの作成 (5) rails dbconsole  データベースクライアントを起動する  SQLを実行することができる  SQLite3の場合、以下のコマンドが使用できる   .table : テーブルの一覧を確認   .schema テーブル名 :    指定されたテーブルの構造を確認   .quit : 終了する

Slide 19

Slide 19 text

コマンドのヘルプ 基本的に「-h」をつけて実行する  rails -h  rails generate -h  rails generate scaffold -h  rake -T 

Slide 20

Slide 20 text

JavaScript/CoffeeScript CSS/SCSS など Railsの役割分担 controllers controllers views views DB DB Ruby models models Ruby web webサーバー サーバー(apache (apacheとか とか) ) ブラウザ ブラウザ rack rack sprockets sprockets HTML.erb Ruby Ruby SQL

Slide 21

Slide 21 text

Railsのディレクトリ構成 prj. prj. images images public public app app config config db db lib lib log log script script test test tmp tmp vendor vendor *.gif, *.png *.gif, *.png *.gif, *.png *.gif, *.png stylesheets stylesheets javascripts javascripts application.css application.css models models controllers controllers models models views views assets assets app app

Slide 22

Slide 22 text

Railsのディレクトリ構成 prj. prj. ・・・ ・・・ migrate migrate db db app app config config lib lib log log public public script script test test tmp tmp vendor vendor db db

Slide 23

Slide 23 text

Railsのディレクトリ構成 prj. prj. ・・・ ・・・ routes.rb routes.rb config config app app db db lib lib log log public public script script test test tmp tmp vendor vendor config config

Slide 24

Slide 24 text

scaffold(デフォルト)でのURL URLの基本構成 http://host/resources #action => index http://host/resources/new #action => new http://host/resources #action => create http://host/resources/id #action => show http://host/resources/id/edit #action => edit http://host/resources/id #action => update http://host/resources/id #action => destroy URLの確認 $ rake routes Lesson2で設定とかやります

Slide 25

Slide 25 text

Lesson1は、これで終わりです。 お疲れさまでした。