LoginSignup
0
0

More than 3 years have passed since last update.

Rails チュートリアル第二章

Last updated at Posted at 2021-04-13

rakeコマンドとrailsコマンド

Rails 4以前ではRakeを使っているため、
古いRailsアプリケーションを扱うためにはRakeについて学ぶ必要があります。

おそらくもっとも頻繁に使われていたRakeコマンドは、データベースのデータモデルを更新するためのrake db:migrateコマンドと、自動化されたテストスイートを実行するためのrake testコマンドの2つでしょう。

また、Rails 4以前のアプリケーションでは、rakeコマンドのバージョンをGemfileで定義しているため、Bundlerのbundler execコマンドを通して実行する必要があります。

したがって、例えばRails 5におけるマイグレーションコマンドは次のようになりますが、

 $ rails db:migrate

Rails 4以前では、次のように実行する必要があります。

 $ bundle exec rake db:migrate

Rakeの特徴

Rubyで記述ができる
Rakefileというファイルに一連の処理を定義する (この処理のまとまりを「タスク」と呼ぶ)

bundle exec

・bundle execをつけないと、Gemfile.lockに基づかずにgemのバージョンが決定される
・bundle execをつけると、Gemfile.lockに書かれているバージョンのgemが動く

・railsコマンドだけはbinを省略してもbin/railsと解釈される
なので、railsコマンドは何も付けずに実行
・binディレクトリにファイルが存在するコマンドはbin/◯◯
・それ以外のコマンドはbundle exec ◯◯

参考文献
bundle execって必要なの?
https://qiita.com/d0ne1s/items/fa2dafcee02e963fe997
Railsのrakeってなんぞ?
https://qiita.com/SuguruOoki/items/e736b15bbb80eacf66d7#dsldomain-specific-language%E3%81%A8%E3%81%AF

RESTfulな設計

まずRESTについて簡単に解説しておきます。RESTとはアプリケーションの設計方法の1つで、操作の対象となるリソースをURLを使って表し、それに対してHTTPメソッドの「GET」「POST」「DELETE」「PUT」を使って操作を行なうというものです。あるURLへGETを使ってアクセスすれば、結果を取得でき、同じURLへPUTでアクセスすれば新しく作成されるよう設定を行ないます。

Railsのアプリケーションの場合、対象となるリソースはデータベースのテーブルがほとんどです。このリソースを表すURLが例えば「http://localhost:3000/sample」だったとします。RESTの考え方に従えば、この1つのURLに対してHTTPメソッドのGETでアクセスすればデータを取得し、PUTでアクセスすればデータの作成が行われるようにします。

Railsでは利用者からのリクエストで呼び出されるのはアクションですので、URLとHTTPメソッドの組み合わせ毎に呼び出されるアクションをルーティングとして設定すればいいことになります。
引用

rails rutes詳細

引用

Active Record

引用
https://railsguides.jp/active_record_basics.html

resources

resources :photos

上の記述により、アプリケーション内に以下の7つのルーティングが作成され、いずれもPhotosコントローラに対応付けられます。

引用

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0