0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails】ルーティングまとめ

Last updated at Posted at 2021-12-03

背景

学び始めでのルーティングをする際、getを使わなきゃだとか、resource、ヘルパーメソッドって何だったか…?となり毎回検索しては忘れてしまうのでここにまとめを。

ルーティングのやり方

◆個別設定
1行ずつ設定する方法。1行1行手入力しないといけないので少し面倒。
一括設定する方法もある。

get 'URLに追加', to: 'コントローラのアクション'

例: get 'index', to: 'posts#index'
これをURLにすると→ http://localhost:3000/index

◆一括設定
resourcesを使う。
これらのメソッドは、railsで定義されている7つのアクションを自動で生成してれる。
 ▼7つのアクションとは

アクション名 役割
index リソースの一覧を表示させる
show リソースの詳細を表示させる
new 投稿フォームを表示させる
create リソースを追加させる
edit 更新フォームを表示させる
update リソースを更新させる
destroy リソースを削除する
resources :コントローラー名,:コントローラー名...

コンソールにてrails routesコマンドで、ルーティングを確認できる。
また、アクションを指定したいときには下記のように記述。

resources :コントローラー名,only:[:index, :new]

resouce(最後に"s"が無い)メソッドでも出来るが、コントローラの7つのアクションに対して、indexとid付きのパスが生成され無いため、show, editアクションの実行に、idが必要ない場合に有効。

HTTPメソッドについて

◆HTTPメソッドとは
HTTPメソッドとは、「クライアントがサーバーにしてほしいことを依頼するための手段。
 ▼比較的多く使われるメソッド

メソッド 役割
get データの取得
post データの送信(主に新規作成)
put データの送信(主に既存データの更新)
delete データの削除

getとpostの違い

get

主にサーバーからブラウザに情報を返す時に使われる。単にウェブページを参照する際にはこのメソッドが利用される。

post

ブラウザからサーバーに情報を送信するときに使うメソッドで、入力フォームのデータをブラウザからサーバーに送信するときなどに使われている。
getメソッドとは異なり、リクエスト内容をHTTP通信のbody部に含めることで、URLにその内容が表れない通信方式
代わりに、リクエストボディ内に内容が含まれているため、URLを直接入力するだけでは同じ通信を再現することはできない。

_pathと_urlの違い

_path

・相対パス
・redirect_to以外で使用

_url

・絶対パス
・redirect_toの時にセットで使用する。(HTTPの仕様上、リダイレクトのときに完全なURLが求められるため

相対パスと絶対パスの違い

相対パス
URLでページを指定して、目的地(情報)がどこにあるのかを確実に伝える。
たとえば実際に道案内をするときに、目的地の住所(URL)を教えるのが絶対パスの伝え方。

絶対パス
今いる場所(階層)を基準にして、目的地(情報)がどこにあるのかを伝える。
ある地点から道を曲がって道路沿いのつきあたりを右…というように、今いる場所から目的地までの経路を案内するのが相対パスの伝え方。

参考記事

【Rails入門】ルーティング (config/routes.rb)の書き方を説明!
【Rails】 resourcesメソッドを使ってルーティングを定義しよう!
resourcesとresourceの違いについて!
Web開発でよく使う4つのHTTPメソッド【REST API】
GETメソッドとPOSTメソッドの違いとSEO面からの使い分け
_pathと_urlの違いについて調べてみた
これだけは覚えておきたい!絶対パスと相対パスの違いとは【初心者向け】

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?