RoR開発環境で、新規プロジェクトの作成

今更ながら、下記RoR開発環境で、新規プロジェクトの作成手順をメモ。

■環境

・Ruby 2.0.0p576 (2014-09-19) [x64-mingw32]
・Rails 4.1.6
・OS windows8.1(64bit)

■プロジェクト「tweet」を作成します。
1.コマンドライン起動

   ctl + r  => cmd 

2.プロジェクトを作成するディレクトリへ移動
   cd ../../

3.プロジェクト生成
   rails new tweet

    ※この時点で、色々ファイルが生成される。

4.GEMファイル修正( gemfile edit for 64bit ) 
  この作業は64bit OS対象の作業です。
  GEMファイルの下記の箇所を下記の様に修正します。

    [修正前] gem 'tzinfo-data', platforms: [:mingw, :mswin]
    [修正後] gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]

5.コマンドラインにて下記コマンドを実行(Gem更新)
   bundle update 


6.コマンドラインにて下記コマンドを実行(サーバー起動)

   rails s

7.ブラウザで表示確認
   http://localhost:3000/


8.コマンドラインにて下記コマンドを実行(コントローラー作成)

   rails g controller tweets index show


    --------------------------------------------------------------
    ★「scaffold」を使用する例
        rails g scaffold tweet name:string price:integer description:text

            「scaffold」を使用した場合、以下の作業は不要です。

      ブラウザで、表示確認してみましょ。

      http://localhost:3000/tweets
    --------------------------------------------------------------


   ※この時点で、下記が作成される。
・コントローラー
/app/controllers/tweets_controller.rb
※上記ファイルが自動的に記述される。

class TweetsController < ApplicationController

#ファイル名「tweets」、クラス名「Tweets」になっている点に注意
#また、複数形になっている点に注意

・ビュー
/app/views/tweets/index.html.erb
/app/views/tweets/show.html.erb

※上記2ファイルが自動的に記述される。

・ルーティングファイル
/config/routes.rb
 get 'tweets/index'
 get 'tweets/show'

※上記が自動的に記述される。

#複数形になっている点に注意


9.ルーティングの記述を必要に応じ変更
get 'tweets/index'
get 'tweets/show/:username' => "tweets#show"


10.コントローラー、ビューの記述を必要に応じ変更
class TweetsController < ApplicationController
 def index
 end

 def show
 end
end


11.DBを設計・作成する(マイグレーションとマイグレート)
※マイグレーション スキーマ定義ファイルの作成
※マイグレート DBへ定義を適応

・空のDBの作成
rake db:create

db/development.sqlite3
※上記ファイルが自動的に記述される。(既に有るとか言われる場合も…)

・マイグレーション(定義ファイルの作成)
rails g model tweet name:string price:integer description:text

#単数(data)になっている点に注意

この時点で、下記ファイルが生成される。
app/models/tweet.rb

#単数(tweet)になっている点に注意

db/migrate/20141015040627_create_tweets.rb

#複数形(tweets)になっている点に注意



・マイグレート(スキーマ「tweet」の作成)
rake db:migrate

この時点で、下記ファイルが生成される。
db/seeds.rb
db/schema.rb


・下記ファイルに、初期値を設定
db/seeds.rb は、初期データを入れるためのファイルで、ここに書き込み

@tweet = Tweet.new
@tweet .name = 'Taro Yamada'
@tweet .price = '100'
@tweet .description= 'Kanagawa, Japan'
@tweet .save


上記を適応するのに、下記コマンドを実行
rake db:seed

ファイル名は「seeds」なのに、コマンドは「seed」な点に注意




コメント