SlideShare a Scribd company logo
1 of 220
Rails基礎講座
  2012/03/21
前回のあらすじ

• Ruby on Rails
• Rubyをインストールしてみる
• Rubyの基礎
おさらい

• Railsとは?
• MVCアーキテクチャ
• 変数・条件分岐・ループ
• レシーバとメソッドとメソッド定義
MVC?
MVC?
Model
MVC?
       Model


View
MVC?
       Model


View           Controller
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
MVC?
       Model


View           Controller


       User
Railsの特長

• ルールに沿って書いていけばWebアプ
 リケーションができる

• =レールに乗る(on Rails)
Railsの特長
インストール
インストール
インストール
インストール
> gem install rails
インストール
> gem install rails

Fetching: i18n-0.6.0.gem (100%)
Fetching: multi_json-1.1.0.gem (100%)
Fetching: activesupport-3.2.2.gem (100%)
...
Successfully installed bundler-1.1.1
Successfully installed rails-3.2.2
30 gems installed
インストール
インストール
> rails -v
インストール
> rails -v

Rails 3.2.2
何を作る?
何を作る?
何を作る?



 twit
何を作る?



    twit
マイクロブログ的なアレ
何を作る?



 twit
何を作る?



       twit
[名]
1 ((略式))ばか, まぬけ.
2 あざけり, 愚弄(ぐろう).
必要なもの
必要なもの
• 統合開発環境
• エディタ
• ターミナル
• ブラウザ
※画面は開発中のものです
※画面は開発中のものです



         ターミナル
※画面は開発中のものです



         ターミナル
※画面は開発中のものです


エディタ
         ターミナル
※画面は開発中のものです


エディタ
         ターミナル
※画面は開発中のものです


エディタ
              ターミナル




       ブラウザ
完成品
完成品
https://github.com/nysalor/twit/commits/master
完成品
https://github.com/nysalor/twit/commits/master
完成品
https://github.com/nysalor/twit/commits/master




     下から順番
完成品
https://github.com/nysalor/twit/commits/master




     下から順番
開発開始!
開発開始!
> rails new twit -T
開発開始!
> rails new twit -T

create
create README.rdoc
...
run bundle install
...
Your bundle is complete! Use `bundle
show [gemname]` to see where a
bundled gem is installed.
ディレクトリ
ディレクトリ
 Model
ディレクトリ
       Model


View
ディレクトリ
       Model


View           Controller
ディレクトリ
       Model


               Controller


View
ディレクトリ
             Model


Controller


  View
ディレクトリ
  Model


Controller


  View
ディレクトリ
  Model


Controller


  View
ディレクトリ
          > cd twit
  Model


Controller


  View
ディレクトリ
  Model


Controller


  View
ディレクトリ
             twit/
  Model


Controller


  View
ディレクトリ
             twit/
  Model              app/models



Controller


  View
ディレクトリ
             twit/
  Model               app/models



Controller           app/controllers



  View
ディレクトリ
             twit/
  Model               app/models



Controller           app/controllers



  View                 app/views
ディレクトリ
             twit/
                      app/models



Controller           app/controllers



  View                 app/views
ディレクトリ
       twit/
                app/models



               app/controllers



View             app/views
ディレクトリ
 twit/
          app/models



         app/controllers



           app/views
ディレクトリ
 twit/
          app/models



         app/controllers



           app/views
ディレクトリ
        twit/
config            app/models



                app/controllers



                  app/views
ディレクトリ
        twit/
config            app/models



 db             app/controllers



                  app/views
ディレクトリ
         twit/
config             app/models



 db              app/controllers



public             app/views
ディレクトリ
 twit/
ディレクトリ
      twit/

以後はずっとこのディレクトリ
サーバ起動
サーバ起動
> cd twit
> rails server
サーバ起動
> cd twit
> rails server

http://localhost:3000
サーバ起動


http://localhost:3000
サーバ起動
サーバ起動
設計
設計
Model
設計
設計
User
設計
User




Tweet
設計
User
        name



Tweet
設計
User
        name



Tweet
         body
        user_id
設計
User
       name




        body
       user_id
設計
User
       name
scaffold
scaffold
> rails generate scaffold User name:string
scaffold
> rails generate scaffold User name:string

invoke active_record
create db/migrate/
 20120320181856_create_users.rb
create app/models/user.rb
...
create app/assets/stylesheets/
scaffolds.css.scss
scaffold
  Model


Controller


  View
scaffold
  Model           app/models/user.rb



Controller


  View
scaffold
  Model           app/models/user.rb


                   app/controllers/
Controller        users_controller.rb



  View
scaffold
  Model           app/models/user.rb


                   app/controllers/
Controller        users_controller.rb


                   app/views/users/
  View             index.html.erb ...
scaffold
scaffold
         db/migrate/
20120320181856_create_users.rb
scaffold
            db/migrate/
   20120320181856_create_users.rb
class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name

      t.timestamps
    end
  end
end
scaffold
            db/migrate/
   20120320181856_create_users.rb
class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name

      t.timestamps          DBの「手順書」
    end
  end
end
設計
User
        name



Tweet
         body
        user_id
設計

        name



Tweet
         body
        user_id
設計



Tweet
         body
        user_id
scaffold
scaffold
scaffold
> rails generate model Tweet body:string
user_id:integer
scaffold
> rails generate model Tweet body:string
user_id:integer

invoke active_record
create db/migrate/
 20120320213424_create_tweets.rb
create app/models/tweet.rb
model generator
Model
model generator
Model   app/models/tweet.rb
model generator
model generator
          db/migrate/
20120320213424_create_tweets.rb
model generator
             db/migrate/
   20120320213424_create_tweets.rb
class CreateTweets < ActiveRecord::Migration
  def change
    create_table :tweets do |t|
      t.string :body
      t.integer :user_id

      t.timestamps
    end
  end
end
model generator
             db/migrate/
   20120320213424_create_tweets.rb
class CreateTweets < ActiveRecord::Migration
  def change
    create_table :tweets do |t|
      t.string :body
      t.integer :user_id

      t.timestamps          DBの「手順書」
    end
  end
end
migrate
migrate
> rake db:migrate
migrate
> rake db:migrate

== CreateUsers: migrating ================
-- create_table(:users)
   -> 0.0016s
== CreateUsers: migrated (0.0017s) =========

== CreateTweets: migrating ===============
-- create_table(:tweets)
   -> 0.0023s
== CreateTweets: migrated (0.0025s) ========
migrate
> rake db:migrate
                        「手順書」からDBを作成
== CreateUsers: migrating ================
-- create_table(:users)
   -> 0.0016s
== CreateUsers: migrated (0.0017s) =========

== CreateTweets: migrating ===============
-- create_table(:tweets)
   -> 0.0023s
== CreateTweets: migrated (0.0025s) ========
動かしてみる
動かしてみる
http://localhost:3000/users/
動かしてみる
http://localhost:3000/users/
動かしてみる
http://localhost:3000/users/
動かしてみる
http://localhost:3000/users/
設計
User
        name



Tweet
         body
        user_id
設計
User
       name




        body
       user_id
設計
User
       name
設計
User
設計
User
設計
        User




Tweet
設計
        User




Tweet
設計
        User




Tweet   Tweet
設計
        User




Tweet   Tweet
設計
        User




Tweet   Tweet   Tweet
設計
        User




Tweet   Tweet   Tweet
関連付け
関連付け
app/models/user.rb
関連付け
            app/models/user.rb



class User < ActiveRecord::Base
end
関連付け
app/models/user.rb
関連付け
            app/models/user.rb



class User < ActiveRecord::Base
  has_many :tweets
end
関連付け
            app/models/user.rb



class User < ActiveRecord::Base
  has_many :tweets
end
                      追加
関連付け
関連付け
app/models/tweet.rb
関連付け
           app/models/tweet.rb



class Tweet < ActiveRecord::Base
end
関連付け
app/models/tweet.rb
関連付け
           app/models/tweet.rb



class Tweet < ActiveRecord::Base
  belongs_to :user
end
関連付け
           app/models/tweet.rb



class Tweet < ActiveRecord::Base
  belongs_to :user
end
                      追加
つぶやきを表示
つぶやきを表示
http://localhost:3000/users/1
つぶやきを表示
http://localhost:3000/users/1
つぶやきを表示
http://localhost:3000/users/1



          この辺につぶやき追加
つぶやきを表示
つぶやきを表示
  Controller
つぶやきを表示
つぶやきを表示
app/controllers/users_controller.rb
つぶやきを表示
   app/controllers/users_controller.rb

  # GET /users/1
  # GET /users/1.json
  def show
    @user = User.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end
つぶやきを表示
          app/controllers/users_controller.rb

        # GET /users/1
        # GET /users/1.json
        def show
          @user = User.find(params[:id])
showアクション=users/1
          respond_to do |format|
            format.html # show.html.erb
            format.json { render json: @user }
          end
        end
つぶやきを表示
   app/controllers/users_controller.rb

  # GET /users/1
  # GET /users/1.json
  def show
    @user = User.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end
つぶやきを表示
app/controllers/users_controller.rb
つぶやきを表示
   app/controllers/users_controller.rb

  # GET /users/1
  # GET /users/1.json
  def show
    @user = User.find(params[:id])
    @tweets = @user.tweets

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end
つぶやきを表示
   app/controllers/users_controller.rb

  # GET /users/1
  # GET /users/1.json
  def show
    @user = User.find(params[:id])
    @tweets = @user.tweets
                                追加
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end
つぶやきを表示
   app/controllers/users_controller.rb

  # GET /users/1
  # GET /users/1.json        @user.tweetsで@userのtweetを取得
  def show
    @user = User.find(params[:id])
    @tweets = @user.tweets
                                     追加
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end
つぶやきを表示
つぶやきを表示
  View
つぶやきを表示
つぶやきを表示
app/views/users/show.html.erb
つぶやきを表示
      app/views/users/show.html.erb


<p id="notice"><%= notice %></p>

<p>
  <b>Name:</b>
  <%= @user.name %>
</p>
つぶやきを表示
app/views/users/show.html.erb
つぶやきを表示
      app/views/users/show.html.erb

<p>
  <b>Name:</b>
  <%= @user.name %>
</p>
<p>
  <b><%= @user.name %>さんのつぶやき</b>
  <ul>
    <% @tweets.each do |tweet| -%>
      <li><%= tweet.body %></li>
    <% end -%>
  </ul>
</p>
つぶやきを表示
      app/views/users/show.html.erb

<p>
  <b>Name:</b>
  <%= @user.name %>
</p>
<p>
  <b><%= @user.name %>さんのつぶやき</b>
  <ul>
    <% @tweets.each do |tweet| -%>
      <li><%= tweet.body %></li>
    <% end -%>                       追加
  </ul>
</p>
つぶやきを表示
つぶやきを表示
http://localhost:3000/users/1
つぶやきを表示
http://localhost:3000/users/1
つぶやく
つぶやく
Controller
つぶやく
つぶやく
app/controllers/users_controller.rb
つぶやく
   app/controllers/users_controller.rb



    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end
end
つぶやく
   app/controllers/users_controller.rb



    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end
end   末尾のendの前に新しいメソッドを追加
つぶやく
   app/controllers/users_controller.rb



    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end
end
つぶやく
app/controllers/users_controller.rb
つぶやく
    app/controllers/users_controller.rb

    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end

  # POST /users/1/tweet
  def tweet
    @user = User.find(params[:id])
    @tweet = @user.tweets.create(:body => params[:body])

    redirect_to @user, notice: 'Tweet was successfully updated.'
  end
end
つぶやく
    app/controllers/users_controller.rb

    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end

  # POST /users/1/tweet
  def tweet
    @user = User.find(params[:id])
    @tweet = @user.tweets.create(:body => params[:body])

    redirect_to @user, notice: 'Tweet was successfully updated.'
  end
end
                                       追加
つぶやく
    app/controllers/users_controller.rb

    respond_to do |format|
      format.html { redirect_to users_url }
      format.json { head :no_content }
    end
  end

  # POST /users/1/tweet                   @user.tweets.createでtweetを追加
  def tweet
    @user = User.find(params[:id])
    @tweet = @user.tweets.create(:body => params[:body])

    redirect_to @user, notice: 'Tweet was successfully updated.'
  end
end
                                       追加
つぶやく
つぶやく
 View
つぶやく
つぶやく
app/views/users/show.html.erb
つぶやく
      app/views/users/show.html.erb




<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>
つぶやく
app/views/users/show.html.erb
つぶやく
      app/views/users/show.html.erb


<p>
  <%= form_tag user_tweet_path do %>
    今何してる?:<%= text_field_tag :body %>
    <%= submit_tag %>
  <% end -%>
</p>

<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>
つぶやく
      app/views/users/show.html.erb


<p>
  <%= form_tag user_tweet_path do %>
    今何してる?:<%= text_field_tag :body %>
    <%= submit_tag %>
                                             追加
  <% end -%>
</p>

<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>
つぶやく
つぶやく
config/routes.rb
つぶやく
              config/routes.rb




Twit::Application.routes.draw do
  resources :users
つぶやく
config/routes.rb
つぶやく
                     config/routes.rb




Twit::Application.routes.draw do
  match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

  resources :users
つぶやく
                     config/routes.rb




Twit::Application.routes.draw do
  match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

  resources :users
                                                                 追加
つぶやく
                        config/routes.rb


/user/1/tweetでusers#tweetが呼ばれるようになる


   Twit::Application.routes.draw do
     match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

     resources :users
                                                                    追加
つぶやいてみる
つぶやいてみる
http://localhost:3000/users/1
つぶやいてみる
http://localhost:3000/users/1
つぶやいてみる
http://localhost:3000/users/1
トップページ
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/
トップページ
トップページ
 config/routes.rb
トップページ
                     config/routes.rb



Twit::Application.routes.draw do
  match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

  resources :users
トップページ
 config/routes.rb
トップページ
                     config/routes.rb



Twit::Application.routes.draw do
  match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

  resources :users

  root :to => "users#index"
トップページ
                     config/routes.rb



Twit::Application.routes.draw do
  match '/user/:id/tweet' => 'users#tweet', :as => :user_tweet

  resources :users

  root :to => "users#index"


                                  追加
トップページ
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/




???
トップページ
トップページ
 public/index.html
トップページ
      削除
 public/index.html
トップページ
トップページ
http://localhost:3000/
トップページ
http://localhost:3000/
次回予告
• トップページにタイムライン表示
• つぶやきを新しい順に並べる
• デザインをかっこよく
• Ajaxで動きのあるページに
• 多分時間が足りません
ご清聴ありがとうございました

More Related Content

What's hot

Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with BrowserifyMuyuu Fujita
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebViewYuki Hirai
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリMasaki Oshikawa
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門spring_raining
 
Vue Router + Vuex
Vue Router + VuexVue Router + Vuex
Vue Router + VuexKei Yagi
 
React+TypeScriptもいいぞ
React+TypeScriptもいいぞReact+TypeScriptもいいぞ
React+TypeScriptもいいぞMitsuru Ogawa
 
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 miso- soup3
 

What's hot (8)

Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with Browserify
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebView
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリ
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
 
Vue Router + Vuex
Vue Router + VuexVue Router + Vuex
Vue Router + Vuex
 
React+TypeScriptもいいぞ
React+TypeScriptもいいぞReact+TypeScriptもいいぞ
React+TypeScriptもいいぞ
 
20200304 vuejs
20200304 vuejs20200304 vuejs
20200304 vuejs
 
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
 

Viewers also liked

Viewers also liked (8)

社内LT資料
社内LT資料社内LT資料
社内LT資料
 
Real world rails
Real world railsReal world rails
Real world rails
 
Ruby on
Ruby onRuby on
Ruby on
 
Rails基礎講座 part.1
Rails基礎講座 part.1Rails基礎講座 part.1
Rails基礎講座 part.1
 
First Step TDD
First Step TDDFirst Step TDD
First Step TDD
 
Ruby with Hash
Ruby with HashRuby with Hash
Ruby with Hash
 
Active support事始め
Active support事始めActive support事始め
Active support事始め
 
5 Tips for a Successful Social Media Strategy
5 Tips for a Successful Social Media Strategy 5 Tips for a Successful Social Media Strategy
5 Tips for a Successful Social Media Strategy
 

Similar to Rails基礎講座 part.2

Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Sea Mountain
 
Rails and twitter #twtr_hack
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hacki7a
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionSatomi Tsujita
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVCRyunosuke SATO
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~Yoshitaka Seo
 
Ruby on Rails Tutorial
Ruby on Rails TutorialRuby on Rails Tutorial
Ruby on Rails TutorialKen Iiboshi
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Hironao Sekine
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみたTakeo Noda
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Setxibbar
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!Shohei Okada
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Sea Mountain
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVCjz5 MATSUE
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼうyouku
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグYohei Yasukawa
 
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられるアップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられるBrian Gesiak
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 

Similar to Rails基礎講座 part.2 (20)

Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
 
Rails and twitter #twtr_hack
Rails and twitter #twtr_hackRails and twitter #twtr_hack
Rails and twitter #twtr_hack
 
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3editionRails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVC
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
Ruby on Rails Tutorial
Ruby on Rails TutorialRuby on Rails Tutorial
Ruby on Rails Tutorial
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
 
Laravel5を使って開発してみた
Laravel5を使って開発してみたLaravel5を使って開発してみた
Laravel5を使って開発してみた
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
ASP.NET MVC 1.0
ASP.NET MVC 1.0ASP.NET MVC 1.0
ASP.NET MVC 1.0
 
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: Railsアプリケーションのデバッグ
 
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられるアップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 

Recently uploaded

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Recently uploaded (7)

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

Rails基礎講座 part.2

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n