【学習メモ】 Ruby on Rails チュートリアル 第6章 ユーザーのモデルを作成する

created_atやupdated_atに登録される時刻は、初期の設定では、UTCになります。

>> user.updated_at
=> Mon, 23 May 2016 19:05:58 UTC +00:00


日本時間にしたい場合は、config/application.rb のconfig.time_zone に、Tokyoを設定します。

module Asagao
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.2

    config.time_zone = 'Tokyo' #Railsアプリケーションの時間設定
    config.active_record.default_timezone = :local #DBの時間設定
end

【学習メモ】 Ruby on Rails チュートリアル 第2章 Toyアプリケーション

アプリケーションの作成

第1章 と同じように、skip-bundleオプションを指定して、bundle install をスキップして、アプリケーションを作成します。

% cd ~/RubymineProjects/environment
% rails _5.1.6_ new hello_app --skip-bundle

Rubymineの起動 と Rubyのバージョンの設定

第1章 と同じように、Rubymineを起動し、Rubyのバージョンを設定します。

% cd toy_app
% mine .

【学習メモ】 Ruby on Rails チュートリアル 第1章 ゼロからデプロイまで - ひこたろうのシンプルライフ


あとは、チュートリアル通りに進めました。

【学習メモ】 Ruby on Rails チュートリアル 第1章 ゼロからデプロイまで

開発環境

チュートリアルAWS Cloud9 ではなく、ローカルPCで環境を準備します。

Ruby 2.6.5
Rails 5.1.6
IDE Rubymine 2019.3

Ruby 2.7 の変更に未対応のgemがあり、railsで警告が出るようです。 現時点(2020年3月)では、2.6系を使った方が良いようです。
Ruby 2.7 とRails 6.0.2.1でrailsコマンドをたたくとすごいwarningがでる - Qiita


Rubyのインストール

rbenvを使って、Rubyをインストールします。
rbenvのインストール方法はこちらを見てください。
rbenvでRubyをインストールする - ひこたろうのシンプルライフ

フォルダの作成

IDE (統合開発環境)として、Rubymineを使いたいので、Rubymineのプロジェクトフォルダ以下にチュートリアルのenvironmentフォルダを作成します。

% cd ~/RubymineProjects
% mkdir environment

Ruby のバージョンの設定

rbenvを使って、environmentフォルダ以下で使うRubyのバージョンを指定します。

% cd environment
% rbenv local 2.6.5

Rrailsのインストール

% gem install rails -v 5.1.6

アプリケーションの作成

rails new で、アプリケーションを作成します。
rails new 実行すると続けて bundle install が実行されます。
このため、デフォルトのGemfileファイルに書かれているで 5.1.6「以上」が適用され、最新のrailsのバージョンになってしまいます。
skip-bundleオプションを指定して、bundle install をスキップします。

% rails _5.1.6_ new hello_app --skip-bundle

Rubymineの起動

% cd hello_app
% mine .

RubymineのRubyのバージョンの設定

Rubyのバージョンが異なっているため、エラーが表示された場合は、Rubymineが使うRubyのバージョンを変更します。
メニューから、Rubymine - Preferences... をクリックします。
f:id:hikotaro_san:20200329152431p:plain

Languages & Frameworks の Ruby SDK and Gems をクリックします。
f:id:hikotaro_san:20200329152502p:plain

rbenv 2.6.5 をクリックして、OKボタンをクリックします。
f:id:hikotaro_san:20200330160802p:plain

Gemfileの編集

Ruby on Rails チュートリアル の リスト 1.4 のように、Gemfile を編集します。
最後の行は、Windows環境の設定のため、MacLinuxの場合は削除します。

# Windows環境ではtzinfo-dataというgemを含める必要があります
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

bundle install の実行

% bundle install


あとは、チュートリアル通りに進めました。

CentOS7 に Docker Community Edition(CE) をインストールする

公式レポジトリをインストールします。

# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


Docker CEをインストールします。
ここでエラーが発生し、インストールに失敗しました。

# yum install -y docker-ce docker-ce-cli containerd.io
package docker-ce-3:19.03.1-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed


containerd.io >= 1.2.2-3 と表示されています。
containerd.ioのバージョンが古いようです。
以下の手順で、バージョン1.2.2-3より新しいcontainerd.io をダウンロードして、インストールします。

# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
#  yum -y install ./containerd.io-1.2.13-3.1.el7.x86_64.rpm


もう一度、Docker CEをインストールします。
今度は、無事にインストールできました。

# yum install -y docker-ce docker-ce-cli containerd.io