LoginSignup
47
46

More than 5 years have passed since last update.

Railsで簡単なアプリをscaffoldで作ってHerokuにデプロイするまで

Posted at

local上にアプリを作成

$ rails new app_name

本番用のdatabaseをpostgreSQL、開発、テスト用のdatabaseをsqliteに設定する。Gemfile内の

gem 'sqlite3'

gem 'sqlite3', :group => [:development, :test]
group :production do
  gem 'pg'
end

に変更する。
そして、gemの更新

$ bundle install --path vendor/bundle

heroku上ではvendor/bundleでgemを管理できないことがわかった。なので以下でgemを更新するべき。

$ bundle install

作成したアプリをgitの管理下においてコミットまでしておく

$ cd app_name
$ git init
$ git add
$ git commit -m "initial commit"

heroku用の鍵を作成する

$ ssh-keygen -C 'e-mail Address' -t rsa

鍵をherokuに登録するのも忘れずに(忘れるとpermission deniedとなりherokuにpush出来ない)

$ heroku keys:add

heroku上へのアプリ作成

heroku上にアプリ名を指定してアプリを作成する。app_nameに何も指定しないとランダムな名前が付けられる。(git管理下においた場所で以下のコマンドを打つことで'heroku'にリモートリポジトリが自動的に登録される)

$ heroku create app_name

herokuにソースコードをアップロード

gitのpushを使ってソースコードをアップロードしてみる。

$ git push heroku master

herokuへのpushが成功すると http://appname.herokuapp.com/  へpublic/index.htmlが表示される。

scaffoldで簡単なアプリの作成

Railsのscaffold機能でアプリ(通院記録管理アプリ)を作成してみる。

$ rails g scaffold complog commute_date:date hosp_loc:integer

終わったらdbの作成

$ rake db:create

次にdatabase.ymlからデータベースの更新

$ rake db:migrate

ローカル環境で動くか確認

$ rails s
$ open localhost:3000/モデル名s

動作を確認できたらgitでコミットしてherokuにpush
heroku上にdatabaseを作成、更新

$ heroku run rake db:create
$ heroku run rake db:migrate

これが終わったらherokuにもらったURLにアクセスして動作を確認

heroku app管理: https://dashboard.heroku.com/apps

47
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
46