Edited at

Rails+Herokuで5分でWebアプリ作るおっ( ^ω^)

More than 3 years have passed since last update.

Ruby on RailsとはRubyのWebアプリケーションフレームワーク。

Web界ではもっとも有名なフレームワークと言っても過言ではないのではないでしょうか。

HerokuはPaaSの一つで、当初はRailsのために作られたものなのでRailsとの相性は抜群です。

今日はこれを使って5分で、Memberを登録しておくだけの簡単なWebアプリを作りますよ。環境はMacです。

個々の詳細については特に説明しておりません。最短の手順を記述するのみです。


インストールしてあるもの


  • gitをインストール済み

  • rubyをインストール済み

  • Postgresインストール済み

  • gem install rails済み

  • heroku toolbeltインストール済み


タイムアタック前の確認事項


heroku login

すぐログイン切れちゃうのでheroku appsなんかを打って確認しておくしておく。

パスワード入力と2way authentication codeが必要。


PostgreSQL

別タブでpostgresを起動しておく。

Macでやっているのでdaemon化はしていないのです。

$ postgres -D /usr/local/var/postgres


準備ができたらタイムアタック開始!


Railsアプリを作る

Memberを登録するだけのアプリを作ります。

$ rails new memberlist -d postgresql

時間がかかります。

$ cd memberlist

$ rails s

http://localhost:3000/ をブラウザで叩いて表示されることを確認。まだDBの設定をしていないのでエラーになります。

次にScaffoldで/membersページをつくり、MigrationでDBを作ります。

$ createdb memberlist_development

$ rails g scaffold Member name:string comment:text
$ rake db:migrate
$ rails s

再びブラウザから確認。これでアプリが完成しました。


Gitリポジトリ作る

$ git init

$ git add .
$ git commit -m'initial commit'


Herokuへデプロイ

GemfileとProcfileというファイルが必要です。

Gemfileは既にできています。

Heroku対応させるために以下を末尾に追加。


Gemfile

gem 'rails_12factor', group: :production


反映。

$ bundle install

Procfileを作ります。

$ vim Procfile

# 中身は以下のようにする。
web: bundle exec rails server -p $PORT

ここいらでcommitしましょう。

$ git commit -a -m'Create procfile'

$ heroku create

Heroku上で設定がされ、またリポジトリにherokuというリモートリポジトリが作成されます。

$ git remote -v

heroku https://git.heroku.com/nantoka-kantoka-4491.git (fetch)
heroku https://git.heroku.com/nantoka-kantoka-4491.git (push)

デプロイ。

$ git push heroku master

少し時間かかる。

これでブラウザで動作ができるはず


Heroku上のDB設定

HerokuでのPostgreSQLの設定。アドオンを追加して、migrationします。

$ heroku addons:add heroku-postgresql

$ heroku run rake db:migrate

これで出力されたURLで見られる。

アプリについての情報は以下で見られる。

$ heroku apps:info


参考資料

ドットインストールをかなり参考にさせていただきました。