【学習メモ】 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

Vagrantで仮想環境を構築する

VM用のディレクトリを作成します。

$ mkdir ~/work/vagrant


Vagrantfileを生成します。
minimalオプションは、コメントなどが書かれていない最小のVagrantfileを生成させます。
ubuntu/xenial64は、Vagrant Cloudに公開されているUbuntu公式Boxの名前です。

$ cd ~/work/vagrant
$ vagrant init --minimal ubuntu/xenial64


Vagrantfileを編集します。

Vagrant.configure("2") do |config|
  config.vm.define 'web' do |web|
    web.vm.box = "ubuntu/xenial64"
    web.vm.hostname = 'web'
    web.vm.network 'private_network', ip: '192.168.10.100'
  end
end


vmを起動します。

$ vagrant up


sshを使って、vmにログインします。

$ vagrant ssh web

Anaconda環境でPycharmを使う

Anacondaの仮想環境のパスを調べます。
Terminalを起動し、以下のコマンドを実行してください。

$ conda info -e
# conda environments:
#
base                  *  /usr/local/var/pyenv/versions/anaconda3-2019.10
studyAI                  /usr/local/var/pyenv/versions/anaconda3-2019.10/envs/studyAI


Pycharmを起動します。
[ Create New Project ] をクリックしてください。
f:id:hikotaro_san:20200207082245p:plain


Existing interpreter をチェックして、[...] をクリックしてください。
f:id:hikotaro_san:20200207082755p:plain


Add Python Interpreter 画面が表示されます。
[ Conda Environment ] をクリックして、[...] をクリックしてください。
f:id:hikotaro_san:20200207082934p:plain


Anaconda仮想環境のパスに[ /bin/pytyon ] を追加したパスを入力してください。
この例では、[ /usr/local/var/pyenv/versions/anaconda3-2019.10/envs/studyAI/bin/python ]と入力しています。
f:id:hikotaro_san:20200207083358p:plain


Add Python Interpreter 画面が表示されます。
[ OK ] をクリックしてください。
f:id:hikotaro_san:20200207083448p:plain


New Project画面が表示されます。
[ Create ] ボタンをクリックしてください。