Ruby on Rails チュートリアルをやってみた【第2章】

Ruby on Rails チュートリアルをやってみた【第2章】
カテゴリ
技術
タグ
ruby
ruby-on-rails

第2章の実績

第2章 Toyアプリケーション を実施しました! 実施時間: 1.5時間

学べたこと

  • 簡単にRESTアプリケーションの作成方法
  • scaffoldの強力さ!
    • データモデル、関連性や制約の定義が簡単にできる。 関連性:あるモデルに属する、複数のモデルをもつといったことを直感的に定義出来る。 制約:必須入力や、文字数制限を簡単に記述出来る。
    • DBの生成もコマンド(rails db:migrate)を一つ流すだけで出来てしまう。

単純な例ではありましたが、非常に簡単にCRUD定義が出来るscaffoldはとても強力なツールだと感じました。これが標準でrailsに含まれているのは大変便利!

独自にやったこと

Heroku環境で、「rails db:migrate」を自動で流れるようにした

経緯

Herokuというクラウド環境(チュートリアル上では擬似的に本番環境として扱っている)にアプリケーションをデプロイしています。今回作成したアプリを動かすためには、DBを生成するための「rails db:migrate」というコマンドを実行する必要がありますが、それを一々叩くのは忘れがちですし、なにより面倒です。

そこで、Herokuにプレインストールされている"foreman"というツールの機能を用いて、自動でこのコマンドを実行させるようにしました。

手順

以下のProcfileというファイルをプッシュしましょう。やることはこれだけです!

格納先はルートディレクトリ(リポジトリの最上位)、

ファイル名はProcfile、

記述するコマンドの形式は、(プロトコル名称): (実行したいコマンド)です。

左側は任意の名前でいいそうです(ただし、"web"という名前だけは特別な意味を持つそうなのでそれ意外で)。私は上記の通り、releaseという名前にしました。

右側が実行したいコマンドで、今回の場合では「rails db:migrate」です。(※もしrailsのバージョン4以前の場合は、このコマンドを「bundle exec rake db:migrate」とする必要があります)

このファイルを置いておくだけで、Herokuにデプロイするだけで、同時にDBのmigrateも自動で行われます。

参考

環境

  • ruby: 2.3.3
  • ruby on rails: 5.1.4
  • OS: Windows 10 (64bit)
  • IDE: IntelliJ ULTIMATE 2018.1
  • リポジトリ: GitHub

https://github.com/nisioka/RubyOnRailsTutorial/tree/toy\_app

リンク

【スポンサードリンク】

000000015158 000000021425


関連記事

  1. Ruby on Rails チュートリアルをやってみた【第14章】

    Ruby_On_Rails_Logo.svg.png

    第14章の実績 第14章 ユーザーをフォローする を実施しました! 実施時間: 5時間 学べたこと 多対多のリレーションシップ 多対多の関係を持つモデルの場合でもRailsでは簡単にリレーションシップを表現することができます。ただし、これまでの…

  2. Ruby on Rails チュートリアルをやってみた【第13章】

    Ruby_On_Rails_Logo.svg.png

    第13章の実績 第13章 ユーザーのマイクロポスト を実施しました! 実施時間: 4.5時間 学べたこと モデルの関連付け 「rails generate model Micropost content:text user:references」とするだけで、"Micropost…

  3. Ruby on Rails チュートリアルをやってみた【第12章】

    Ruby_On_Rails_Logo.svg.png

    第12章の実績 第12章 パスワードの再設定 を実施しました! 実施時間: 1.5時間 学べたこと 本章では特段新しいことはなかったです。 第11章 アカウントの有効化 と同じような内容で、復習に近いような内容でした。ただ、1…

  4. Ruby on Rails チュートリアルをやってみた【第11章】

    Ruby_On_Rails_Logo.svg.png

    第11章の実績 第11章 アカウントの有効化 を実施しました! 実施時間: 1.5時間 学べたこと メール送信機能 「rails generate mailer UserMailer account_activation password_reset…

  5. Ruby on Rails チュートリアルをやってみた【第10章】

    Ruby_On_Rails_Logo.svg.png

    第10章の実績 第10章 ユーザーの更新・表示・削除 を実施しました! 実施時間: 2時間 学べたこと before_action 例えば本章では、「before_action :logged_in_user, only: [:edit, :update]」とすることで、edit…

  6. Ruby on Rails チュートリアルをやってみた【第9章】

    Ruby_On_Rails_Logo.svg.png

    第9章の実績 第9章 発展的なログイン機構 を実施しました! 実施時間: 1.5時間 学べたこと cookies.permanent.signed[:user_id] = user.id 上記コードは、「cookieに、永続的に(2…