今更ながら、下記RoR開発環境で、新規プロジェクトの作成手順をメモ。
■環境
・Ruby 2.0.0p576 (2014-09-19) [x64-mingw32]
・Rails 4.1.6
・OS windows8.1(64bit)
■環境
・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」な点に注意
コメント