4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby on Rails の Scaffold でアプリを作って heroku にデプロイするまでの手順

Last updated at Posted at 2017-12-22

初 Rails です。
忘れないうちに手順をメモします。

環境

  • macOS High Sierra
  • Ruby 2.4.1
  • Ruby on Rails 5.1.4

Ruby on Rails のインストール(初回のみ)

Rails のインストール
バージョンを省略すれば最新版が適用される。

$ gem install rails --version=5.1.4

railsのバージョンを確認

$ rails -v

アプリの作成

任意のフォルダにプロジェクトを作成
バージョンを省略すれば最新版が適用される。

$ rails _5.1.4_ new myapp

プロジェクトフォルダに移動

$ cd myapp

アプリを作成
モデル名(今回はListの部分)は、単数形で頭文字は大文字にする。

$ rails generate scaffold List name:string age:integer

データベースの設定をデータベース(SQLite3)に反映

$ rails db:migrate

Rails内臓のWebサーバを起動
webサーバの停止は Ctrl + C キー。

$ rails server

※おまけ
Cloud 9 上で開発している場合は、以下のコマンドでWebサーバを起動する

$ rails s -b $IP -p $PORT

ブラウザでアプリが動作することを確認
URLの後ろの部分は、モデル名(今回はList)を複数形で頭文字が小文字にしたもの(=データベースのテーブル名)になる(今回の場合は"/lists")。

http://localhost:3000/lists
スクリーンショット 2017-12-22 17.45.30.png

デプロイの準備

ローカル環境ではデータベースに SQLite3 を使用したが、heroku では SQLite3 は使用できない。
heroku 標準のデータベースである PostgreSQL で動作するように変更を加える。

./Gemfile を修正

修正前:

gem 'sqlite3'

修正後:
ローカル環境(development)では SQLite3 を、heroku環境(production)では PostgreSQL を使用することを明示する

gem 'sqlite3', group: :development
gem 'pg', group: :production

Gemfileの変更内容に基づき必要なモジュールを追加インストールする

$ bundle install

初回時、ここでエラーが出て gem ‘pg’ のインストールができなかった。
事前にローカル環境に PostgreSQL をインストールしておくと回避できる模様。

$ brew install postgresql
$ psql --version
$ bundle install

詳細はこちらを参照。
http://jyoko.hatenablog.com/entry/2016/10/08/gem_%27pg%27_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%99%82%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95

Config/database.yml を変更
heroku 環境(production)でのデータベース設定。タブは半角スペース2つ分。

#修正前(以下、削除)
production:
  <<: *default
  database: db/production.sqlite3

#修正後(以下、追記)
production:
 <<: *default
 adapter: postgresql
 encoding: unicode
 pool: 5

heroku へのデプロイ

heroku へログイン

$ heroku login

heroku 上にアプリを作成

$ heroku create

heroku にアプリをデプロイ

$ git add .
$ git commit -m 'first commit'
$ git push heroku master

heroku 上でデータベースの設定を PostgreSQL に反映

$ heroku run rake db:migrate

アプリを起動

$ heroku open

ブラウザでアプリにアクセス(URLは各アプリごとに異なります)

https://xxxxx-xxxxx-12345.herokuapp.com/lists
スクリーンショット_2017-12-22_17_55_26.jpg
4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?