Upload
satomi-tsujita
View
1.592
Download
1
Embed Size (px)
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は、これで終わりです。お疲れさまでした。