rails初心者レッスン lesson1

19
Rails3 初心者レッスン by Minami.rb しきりなおしの Lesson 1

Upload: satomi-tsujita

Post on 28-May-2015

1.592 views

Category:

Technology


1 download

DESCRIPTION

第4回Minami.rb勉強会での初心者レッスン<その1>です。

TRANSCRIPT

Page 1: Rails初心者レッスン lesson1

Rails3 初心者レッスンby Minami.rb

しきりなおしの

Lesson 1

Page 2: Rails初心者レッスン lesson1

このレッスンでやること一覧1. Railsで何をする?どうしてRails?2. Railsを通してデータベースをブラウザから扱う3. 作ってみよう事始め4. プロジェクトとテーブル5. Railsはどんなふうに働いてる?6. URLが大事7. リレーションを考える8. 日本語対応9. 見た目をキレイに10.プラグインを使う11.ちょっとRubyに働いてもらう12.herokuに公開しよう

Page 3: Rails初心者レッスン lesson1

この初心者レッスンを全部聞くと、

簡単なものなら、自分で作れるようになるでしょう

Railsがわかった気になるでしょう

Minami.rb初心者レッスンの講師になれます

Page 4: Rails初心者レッスン lesson1

Rails で何をする?

例:ブログ、ホームページ、ECサイト、業務アプリ

有名なRails製サイト

twitter http://twitter.com/

Webアプリを作ります

クックパッド http://cookpad.com/

Page 5: Rails初心者レッスン lesson1

どうして Rails?

データベースとの連携が簡単

コマンドでデータの一覧、詳細がブラウザに表示できる

データの新規登録、編集などの画面・ボタンが用意される

PHPとかだと・・・?

Page 6: Rails初心者レッスン lesson1

Rails

Railsを通してデータベースをブラウザから扱う

SQL

browser

HTML/CSS

RubyJavaScript/jQuery

サーバーDB

Page 7: Rails初心者レッスン lesson1

作ってみよう事始め

何作る?

テーブル構成は?

どんな画面/遷移?

Page 8: Rails初心者レッスン lesson1

プロジェクトとテーブルプロジェクト作成

$ rails new プロジェクト名 e.g. rails new minamirb_blogテーブル元ネタ作成(scaffold)

$ rails generate scaffold テーブル名 カラム:データ型 e.g. rails generate scaffold diary shop:string date_on:date 代表データ型:string, integer, date, time, datetime, booleanテーブル作成(migrate)

$ rake db:migrate e.g. rake -T

diaries

Page 9: Rails初心者レッスン lesson1

プロジェクトとテーブルテーブルの確認

$ rails console または rails c >> テーブル名(最初は大文字)Railsの起動

$ rails server または rails s →ブラウザで http://localhost:3000 にアクセス!コマンドヘルプ

$ rails -h $ rails generate -h $ rails generate scaffold -h

Page 10: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj. app

models

controllers

views

・・・

config

db

lib

log

public

script

test

tmp

vendor

resources_controller.rb

applicaiont_controller.rbcontrollersapp

コレ以降に出てくる“resources”は、今の場合はscaffoldしたtableと同じ名前の複数形です。

scaffoldしないことがあったり、実はmodelと深い関係があるらしいですが、おいおい勉強していきましょう。

Page 11: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj. app

models resource.rb

controllers

models

views

・・・

modelsconfig

db

lib

log

public

script

test

tmp

vendor

Page 12: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj. app

models

controllers

models

views resources index.html.erb

show.html.erb

_form.html.erb

edit.html.erb

new.html.erb

・・・views

config

db

lib

log

public

script

test

tmp

vendor

Page 13: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj.

・・・routes.rb

config

app

db

lib

log

public

script

test

tmp

vendor

config

Page 14: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj.

・・・migratedb

app

config

lib

log

public

script

test

tmp

vendor

number_create_tables.rbdb

Page 15: Rails初心者レッスン lesson1

Railsはどんなふうに働いてる?prj.

imagespublic

app

config

db

lib

log

script

test

tmp

vendor

*.gif, *.png

stylesheets

・・・ scaffold.css

application.css

resource.css

public

Page 16: Rails初心者レッスン lesson1

URL(routes)が大事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 => destroyURL(routes)の確認

$ rake routesconfig/routes.rb (Lesson2)

Page 17: Rails初心者レッスン lesson1

URLとactionの関係 例:テーブル名bookのindex http://host/books :action => index

app/controllers/books_controller.rb

class BooksController < ApplicationController # GET /books # GET /books.xml def index @books = Book.all

respond_to do |format| format.html # index.html.erb format.xml { render :xml => @books } end end

URL(routes)が大事

Ruby - methodRuby - class

app/views/books/index.html.erb

(Lesson2)

Page 18: Rails初心者レッスン lesson1

RailsとREST app/controllers/ books_controller.rb

class BooksController < ApplicationController # GET /books # GET /books.xml def index end

# GET /books/1 # GET /books/1.xml def show end

# GET /books/new # GET /books/new.xml def new end

# GET /books/1/edit def edit end

# POST /books # POST /books.xml def create end

# PUT /books/1 # PUT /books/1.xml def update end

# DELETE /books/1 # DELETE /books/1.xml def destroy end

end

Page 19: Rails初心者レッスン lesson1

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