Railsに"Hello"を表示してHerokuへデプロイする
  • 2019.08.09に公開
  • 2019.10.12に更新
  • SPA開発
  • 3. RailsをHerokuにデプロイする
  • No.3 / 3
「SPA開発」では、Nuxt.js v2.14未満が使用されています。 Nuxt.jsはv2.13~14で大きなバージョンアップがありました。それに伴い、書き方も大きく変化しています。 v2.14以上で書かれた「SPA開発」の続編は、カテゴリー「 Udemy 」 で公開しています。

今回達成すること

今回は、Railsのトップページに"hello"を表示してHerokuにデプロイします。

現状の確認

前回までに

を行いました。

全てバックグラウンドの設定のため、まだトップページはこのままのはずです。
2019-08-03 13-19-24

このページは、開発環境のRailsが表示しているだけであってHerokuでは正しく表示されません。

今回はこのトップページの編集を行っていきます。

まずは、htmlを表示するファイルを作成する

今回作成したRailsプロジェクトはapiモードのため、トップページを表示するviewファイルがありません。

そこで自分でviewファイルを作成します。

app/views/layoutディレクトリにapplication.html.erbファイルを作成してください。

atomエディタの場合は、layoutディレクトリ上でaを押すと新規ファイルが作成できます。

2019-08-09 13-22-56

中身はこのように書きます。

application.html.erb

<!DOCTYPE html>
<html>
  <body>
    <%= yield %>
  </body>
</html>

この<%= yield %>がRailsの命令を表示する部分となります。

controllerの設定を行う

次に何を表示するかを設定していきます。

app/controllers/application_controller.rbを以下のように編集してください。

application_controller.rb

class ApplicationController < ActionController::API
  def index
    render html: "hello!"
  end
end

このindexにアクセスすると"hello!"という文字列を返してね。と宣言しています。

routes.rbの設定を行う

最後にroutes.rbファイルの設定を行います。

routes.rbは、ここにアクセスしたらこれを実行してね。と設定するファイルとなります。

config/routes.rbに移動してください。

routes.rb

Rails.application.routes.draw do
  root 'application#index'
end

これはアプリケーションのroot、つまりトップページにアクセスしたら、applicationコントローラーのindexを実行するように宣言しています。

localhost:3000にアクセスして確認をとる

Railsを起動して"http://localhost:3000/"にアクセスしてみましょう。

$ rails s

"hello!"と表示されれば成功です。

Herokuにデプロイする

Herokuにデプロイして、インターネット上でも表示されるか確認をとりましょう。

まず、gitにコミットして、

$ git add -A
$ git commit -m "hello_rails"

Bitbucketにpush!

$ git push

Herokuにもpush!!

$ git push heroku

デプロイが完了したら、ブラウザで確認

$ heroku open

"hello!"が表示されていますか?

これにてアプリケーション公開の第一歩を踏み出しました。

application.html.erbは削除する

確認が取れたら最初に作成したapplication.html.erbファイルは削除して構いません。

今回の設計では、あくまでRailsはapiデータを返すだけであり、フロントはNuxt.jsで表示するため、このファイルを必要としません。

終わりに

以上で、チャプター「2. RailsをHerokuにデプロイする」を終わります。

次回からはRailsプロジェクトにNuxt.jsを乗せ、共存させる方法について説明していきます。

あなたの力になれること
私自身が独学でプログラミングを勉強してきたので、一人で学び続ける苦しみは痛いほど分かります。そこで、当時の私がこんなのあったら良いのにな、と思っていたサービスを立ち上げました。周りに質問できる人がいない、答えの調べ方が分からない、ここを聞きたいだけなのにスクールは高額すぎる。そんな方に向けた単発・短期間メンターサービスを行っています。
独学プログラマのサービス
SPA開発の投稿
1
  • 更新情報
  • /
  • #01
「Rails apiとNuxt.jsでSPA開発」のデモアプリを開発中...。【2020/05/19追記: このカテゴリーの更新を一旦終了といたします】
1
  • 今回作るアプリケーション
  • /
  • #01
Railsアプリの完成イメージ画像と作ろうと思った経緯
2
  • 今回作るアプリケーション
  • /
  • #02
今回作るRailsアプリの全体像と機能の整理
1
  • 開発環境を整える
  • /
  • #01
macにRailsをゼロからインストールする
2
  • 開発環境を整える
  • /
  • #02
Rails apiモードのプロジェクトを作成し、Gitにコミットする
3
  • 開発環境を整える
  • /
  • #03
Bitbucketに公開鍵を追加し、Railsプロジェクトをpushする
4
  • 開発環境を整える
  • /
  • #04
HerokuCLIのインストールとherokuアプリケーションの作成
1
  • RailsをHerokuにデプロイする
  • /
  • #01
Herokuのデータベース設定と開発に便利なgemを導入する
2
  • RailsをHerokuにデプロイする
  • /
  • #02
HerokuにPumaを導入するためのRailsセットアップ
3
  • RailsをHerokuにデプロイする
  • /
  • #03
Railsに"Hello"を表示してHerokuへデプロイする
1
  • RailsとNuxt.jsを共存させる
  • /
  • #01
【RailsとNuxt.jsの共存】Rails上にNuxt.jsのプロジェクトを構築しよう
2
  • RailsとNuxt.jsを共存させる
  • /
  • #02
Nuxt.jsからRailsへ、初めてのapi通信でHelloを表示しよう
3
  • RailsとNuxt.jsを共存させる
  • /
  • #03
Nuxt.jsにVuetify2.0を導入してFont Awesomeもインストールするぜ
4
  • RailsとNuxt.jsを共存させる
  • /
  • #04
初めてのRailsApiアプリの公開。Herokuにデプロイする準備と実際のデプロイまで
1
  • データベース設計
  • /
  • #01
データベースを正規化する前に、会計システムの勘定科目データを整理する
2
  • データベース設計
  • /
  • #02
会計システムのデータベース設計に挑む
1
  • バージョンアップ情報
  • /
  • #01
【ご報告】Nuxt.jsを2.10.2にバージョンアップしました
2
  • バージョンアップ情報
  • /
  • #02
【ご報告】Railsを6.0.0にバージョンアップしました
1
  • Userモデル開発
  • /
  • #01
本番環境と開発環境でRailsのSeedデータを切り替える
2
  • Userモデル開発
  • /
  • #02
Railsにユーザーテーブルを作成する【テーブル確認コマンド】
3
  • Userモデル開発
  • /
  • #03
【Rails】EachValidatorクラスを使ったEmailカスタムバリデーション【lib以下読み込み】
4
  • Userモデル開発
  • /
  • #04
【Rails】エラーメッセージの日本語化【i18nとja.ymlのセッティング】
5
  • Userモデル開発
  • /
  • #05
【Rails】開発・テスト・本番環境の全てにユーザーSeedデータ投入する
6
  • Userモデル開発
  • /
  • #06
【Rails】ユーザーモデルのバリデーションをテストする
1
  • ログイン周りのレイアウト設計
  • /
  • #01
【Nuxt.js】ログインフラグでレイアウトを切り替えるテクニック【2019/12/07追記あり】
2
  • ログイン周りのレイアウト設計
  • /
  • #02
【Nuxt.js】ウェルカムページのレイアウト構築【sassの導入】
3
  • ログイン周りのレイアウト設計
  • /
  • #03
【Nuxt.js】ログイン周りの入力フォームコンポーネント設計【2019/12/07追記あり】
4
  • ログイン周りのレイアウト設計
  • /
  • #04
【Nuxt.js】会員登録フォームを構築してサインアップページを完成させる
独学プログラマ
独学でも、ここまでできるってよ。
CONTACT
Nuxt.js制作のご依頼は下記メールアドレスまでお送りください。