Railsのルーティング設定について
いくつかの書き方があったので、記載したいと思います。
ルーティングの設定は、config/routes.rbを編集します。
例として、BooksControllerがあることとします。
基本的なルーティング設定
get '/books', to: 'books#index'
上記のように書く場合、GETリクエストが "/books" URLに対して行われたときに、BooksControllerのindexアクションが呼び出されます。
RESTfulなルーティング
resources :books
上記のように書く場合、コントローラーに対する7つの標準的なアクション(index, show, new, create, edit, update, destroy)のルーティングが自動的に生成されます。
また、
resources :books, only: [:index, :show]
のようにすると、特定のルーティングのみ生成することもできます。(上記はindex
とshow
のアクションに対するルーティングのみ)
名前付きのルーティング
get '/login', to: 'sessions#new', as: 'login'
上記のようにas
オプションを使用すると、ルーティングの名前を定義することができます。
メリットとしては、ビューやコントローラ内でパスやURLを生成するためのヘルパーメソッドとして使用できること(上記のloginルートの場合、login_pathとlogin_urlの2つのヘルパーメソッドが自動的に生成されます)や、ルートを参照するときにURLを直接使用するのではなく、名前付きルートを使用することで、URLが変更されたときにもコードの他の部分を変更する必要がなくなることが挙げられます。
最後に
上記以外にもネストする方法など他にもあるかと思いますので、ベストなコードが書けるように学習していきたいと思います。
以上になります!