3
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 3 years have passed since last update.

[herokuデプロイ手順②]新しいアプリの作成からindexアクション表示まで

Last updated at Posted at 2020-07-20

はじめに

今回は前回の続きでアプリを作成し、indexアクションをローカルで表示するとこまでのアウトプットを行います。

前回の**[herokuデプロイ手順①]heroku CLIのインストールからログインまで**をまだ読まれていない方はそちらを先に確認して下さい。(下記URLから)
https://qiita.com/nkekisasa222/items/52c872957b30f4e8de1e

環境

Rails 5系
macOS catalina 10.15

Railsアプリの新規作成

今回はRails5系で新規作成を行って下さい。そちらの方がスムーズに実装できます。
バージョンの確認方法はターミナルにてrails -vを入力して下さい。

必要に応じて次のコマンドで新しいRailsのバージョンを入手して下さい。

ターミナル.
$ gem install rails --no-document
Successfully installed rails-5.2.2
1 gem installed

次に新しいアプリを作成し、作成したアプリのディレクトリに移動します。

ターミナル.
$ rails _バージョン指定_ new アプリ名 --database=postgresql
ターミナル.
$ cd アプリ名

続いてローカルにデータベースを作成します。

ターミナル.
$ rails db:create
Database 'アプリ名_development' already exists
Database 'アプリ名_test' already exists

gemを追加する

gemファイルを次のように変更して下さい。

ターミナル.
gem 'sqlite3' #このgemを
gem 'pg' #このgemに変更

gemを変更しないで開発を進めるとデプロイ実行の際にエラーが発生します。

開発時にはPostgreSQLを使用することを強くお勧めします。開発環境とデプロイメント環境の間の同等性を維持することで、環境の違いによる微妙なバグの発生を防ぐことができます。システムにPostgresがまだインストールされていない場合は、下記URLからローカルにインストールします。
https://devcenter.heroku.com/articles/heroku-postgresql#local-setup

gemを保存するので下記コマンドを入力して下さい。

ターミナル.
$ bundle install

PostgreSQLアダプターの確認

config/database.ymlファイルがpostgresqlアダプターを使用していることを確認してください。

ターミナル.
$ cat config/database.yml
# PostgreSQL. Versions 9.1 and up are supported.
#
# Install the pg driver:
#   gem install pg
# On OS X with Homebrew:
#   gem install pg -- --with-pg-config=/usr/local/bin/pg_config
# On OS X with MacPorts:
#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
#   gem install pg
#       Choose the win32 build.
#       Install PostgreSQL and put its /bin directory on your path.
#
# Configure Using Gemfile
# gem 'pg'
#
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: myapp_development

  # The specified database role being used to connect to postgres.
  # To create additional roles in postgres see `$ createuser --help`.
  # When left blank, postgres will use the default role. This is
  # the same name as the operating system user that initialized the database.
  #username: myapp

  # The password associated with the postgres role (username).
  #password:

  # Connect on a TCP socket. Omitted by default since the client uses a
  # domain socket that doesn't need configuration. Windows does not have
  # domain sockets, so uncomment these lines.
  #host: localhost

  # The TCP port the server listens on. Defaults to 5432.
  # If your server runs on a different port number, change accordingly.
  #port: 5432

  # Schema search path. The server defaults to $user,public
  #schema_search_path: myapp,sharedapp,public

  # Minimum log levels, in increasing order:
  #   debug5, debug4, debug3, debug2, debug1,
  #   log, notice, warning, error, fatal, and panic
  # Defaults to warning.
  #min_messages: notice

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: myapp_test

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: myapp_production
  username: myapp
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>

indexアクションの作成

indexアクションを作成していない場合ローカル環境ででエラーが発生するので作成して下さい。

まずコントローラーを作成します。

ターミナル.
$ rails g controller コントローラー名

次にindexアクションを設定します。
app/views/コントローラー名/index.html.erbを編集。

index.html.erb
<h2>Hello World</h2>
<p>
  The time is now: <%= Time.now %>
</p>

続いてルーティングの設定でconfig/routes.rb2行目に、以下を追加します。

routes.rb
 root 'コントローラー名#index'

サーバーを立ち上げてページが存在するか確認します。

ターミナル.
$ rails s

app/views/コントローラー名/index.html.erbの内容が表示されれば成功です。

最後に

次回はアプリをgitに連携からherokuデプロイまでをアウトプットしています。
参考にして下さい!
https://qiita.com/nkekisasa222/items/296135545b7dea355d88

3
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
3
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?