9.2. アプリケーションの作成
Rails アプリケーションをゼロからビルドするには、Rails gem を先にインストールする必要があります。その後に、アプリケーションを作成することができます。
手順
Rails gem をインストールします。
$ gem install rails Successfully installed rails-4.2.0 1 gem installedRails gem のインストール後に、PostgreSQL をデータベースとして 指定して新規アプリケーションを作成します。
$ rails new rails-app --database=postgresql新規アプリケーションディレクトリーに切り替えます。
$ cd rails-appアプリケーションがすでにある場合には
pg(postgresql) gem がGemfileに配置されていることを確認します。配置されていない場合には、gem を追加してGemfileを編集します。gem 'pg'すべての依存関係を含む
Gemfile.lockを新たに生成します。$ bundle installpggem でpostgresqlデータベースを使用するほか、config/database.ymlがpostgresqlアダプターを使用していることを確認する必要があります。config/database.ymlファイルのdefaultセクションを以下のように更新するようにしてください。default: &default adapter: postgresql encoding: unicode pool: 5 host: localhost username: rails password:アプリケーションの開発およびテスト用のデータベースを作成します。
$ rake db:createこれで PostgreSQL サーバーに
developmentおよびtestデータベースが作成されます。
9.2.1. Welcome ページの作成 リンクのコピーリンクがクリップボードにコピーされました!
Rails 4 では静的な public/index.html ページが実稼働環境で提供されなくなったので、新たに root ページを作成する必要があります。
Welcome ページをカスタマイズするには、以下の手順を実行する必要があります。
- index アクションで コントローラー を作成します。
-
welcomeコントローラーindexアクションの ビュー ページを作成します。 - 作成した コントローラー と ビュー と共にアプリケーションの root ページを提供する ルート を作成します。
Rails には、これらの必要な手順をすべて実行するジェネレーターがあります。
手順
Rails ジェネレーターを実行します。
$ rails generate controller welcome indexすべての必要なファイルが作成されます。
以下のように
config/routes.rbファイルの 2 行目を編集します。root 'welcome#index'rails server を実行して、ページが利用できることを確認します。
$ rails serverブラウザーで http://localhost:3000 に移動してページを表示してください。このページが表示されない場合は、サーバーに出力されるログを確認してデバッグを行ってください。
9.2.2. OpenShift Container Platform のアプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションが OpenShift Container Platform で実行中の PostgreSQL データベースサービスと通信できるようにするには、データベースサービスの作成時に定義する環境変数を使用できるように config/database.yml の default セクションを編集する必要があります。
手順
以下のように事前に定義した変数で、
config/database.ymlのdefaultセクションを編集します。<% 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"] %>
9.2.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