11.3. アプリケーションの作成
Rails アプリケーションをゼロからビルドするには、Rails gem を先にインストールする必要があります。その後に、アプリケーションを作成することができます。
手順
Rails gem をインストールします。
$ gem install rails
出力例
Successfully installed rails-4.3.0 1 gem installed
Rails gem のインストール後に、PostgreSQL をデータベースとして 指定して新規アプリケーションを作成します。
$ rails new rails-app --database=postgresql
新規アプリケーションディレクトリーに切り替えます。
$ cd rails-app
アプリケーションがすでにある場合には
pg
(postgresql) gem がGemfile
に配置されていることを確認します。配置されていない場合には、gem を追加してGemfile
を編集します。gem 'pg'
すべての依存関係を含む
Gemfile.lock
を新たに生成します。$ bundle install
pg
gem でpostgresql
データベースを使用するほか、config/database.yml
がpostgresql
アダプターを使用していることを確認する必要があります。config/database.yml
ファイルのdefault
セクションを以下のように更新するようにしてください。default: &default adapter: postgresql encoding: unicode pool: 5 host: localhost username: rails password: <password>
アプリケーションの開発およびテスト用のデータベースを作成します。
$ rake db:create
これで PostgreSQL サーバーに
development
およびtest
データベースが作成されます。
11.3.1. Welcome ページの作成
Rails 4 では静的な public/index.html
ページが実稼働環境で提供されなくなったので、新たに root ページを作成する必要があります。
Welcome ページをカスタマイズするには、以下の手順を実行する必要があります。
- index アクションでコントローラーを作成します。
- welcome コントローラーの index アクションの view ページを作成します。
- 作成したコントローラーとビューと共にアプリケーションの root ページを提供するルートを作成します。
Rails には、これらの必要な手順をすべて実行するジェネレーターがあります。
手順
Rails ジェネレーターを実行します。
$ rails generate controller welcome index
すべての必要なファイルが作成されます。
以下のように
config/routes.rb
ファイルの 2 行目を編集します。root 'welcome#index'
rails server を実行して、ページが利用できることを確認します。
$ rails server
ブラウザーで http://localhost:3000 に移動してページを表示してください。このページが表示されない場合は、サーバーに出力されるログを確認してデバッグを行ってください。
11.3.2. OpenShift Container Platform のアプリケーションの設定
アプリケーションが OpenShift Container Platform で実行中の PostgreSQL データベースサービスと通信できるようにするには、後のデータベースサービスの作成時に定義する必要のある環境変数を使用できるように config/database.yml
の default
セクションを編集する必要があります。
手順
以下のように事前に定義した変数で、
config/database.yml
のdefault
セクションを編集します。config/database
YAML ファイルのサンプル<% user = ENV.key?("POSTGRESQL_ADMIN_PASSWORD") ? "root" : ENV["POSTGRESQL_USER"] %> <% password = ENV.key?("POSTGRESQL_ADMIN_PASSWORD") ? ENV["POSTGRESQL_ADMIN_PASSWORD"] : ENV["POSTGRESQL_PASSWORD"] %> <% db_service = ENV.fetch("DATABASE_SERVICE_NAME","").upcase %> 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["POSTGRESQL_MAX_CONNECTIONS"] || 5 %> username: <%= user %> password: <%= password %> host: <%= ENV["#{db_service}_SERVICE_HOST"] %> port: <%= ENV["#{db_service}_SERVICE_PORT"] %> database: <%= ENV["POSTGRESQL_DATABASE"] %>
11.3.3. アプリケーションの Git への保存
通常 OpenShift Container Platform でアプリケーションをビルドする場合、ソースコードを git リポジトリーに保存する必要があるため、git
がない場合にはインストールしてください。
前提条件
- git をインストールします。
手順
ls -1
コマンドを実行して、Rails アプリケーションのディレクトリーで操作を行っていることを確認します。コマンドの出力は以下のようになります。$ ls -1
出力例
app bin config config.ru db Gemfile Gemfile.lock lib log public Rakefile README.rdoc test tmp vendor
Rails app ディレクトリーで以下のコマンドを実行して、コードを初期化し、git にコミットします。
$ git init
$ git add .
$ git commit -m "initial commit"
アプリケーションがコミットされたら、これをリモートリポジトリーにプッシュする必要があります。新規リポジトリーを作成する GitHub アカウントです。
お使いの
git
リポジトリーを参照するリモートを設定します。$ git remote add origin git@github.com:<namespace/repository-name>.git
アプリケーションをリモートの git リポジトリーにプッシュします。
$ git push