Rails初心者レッスン lesson1

Preview:

DESCRIPTION

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

Citation preview

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

しきりなおしの

Lesson 1

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

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

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

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

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

Rails で何をする?

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

有名なRails製サイト

twitter http://twitter.com/

Webアプリを作ります

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

どうして Rails?

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

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

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

PHPとかだと・・・?

Rails

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

SQL

browser

HTML/CSS

RubyJavaScript/jQuery

サーバーDB

作ってみよう事始め

何作る?

テーブル構成は?

どんな画面/遷移?

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

$ 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

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

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

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

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

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と深い関係があるらしいですが、おいおい勉強していきましょう。

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

models resource.rb

controllers

models

views

・・・

modelsconfig

db

lib

log

public

script

test

tmp

vendor

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

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

・・・routes.rb

config

app

db

lib

log

public

script

test

tmp

vendor

config

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

・・・migratedb

app

config

lib

log

public

script

test

tmp

vendor

number_create_tables.rbdb

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

imagespublic

app

config

db

lib

log

script

test

tmp

vendor

*.gif, *.png

stylesheets

・・・ scaffold.css

application.css

resource.css

public

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)

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)

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

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