#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コントローラに対応付けられます。
引用