LoginSignup
0
0

More than 3 years have passed since last update.

railsで7つのアクション以外のルーティングする場合(member,collection)

Posted at

自分がcollection,memberを忘れていたので備忘録として。

railsで7つのアクション以外のルーティングをする場合

そもそも、、、7つのアクションとは

何か投稿するといった内容をイメージすると

index → 一覧表示
show  → 詳細表示
new  → 新規投稿
create → 新規投稿を保存
edit  → 投稿を編集
update → 投稿を更新
destroy  → 投稿を削除

これらは


resources :コントローラー名

でルーティングができるので便利です。
アクションを限定したいときはonly,で設定します。

7つのアクション以外のルーティングを設定したいときはどうするのか

方法としては2つあって
1つは


collection do
   get(アクションに応じたHTTPメソッド) 'アクション名'
end

もう1つは


member do
  get(アクションに応じたHTTPメソッド) 'アクション名'
end

この2つの違いはURIパターンに
:idが含まれるかどうか、です。

rails routes でURIパターンを確認し、

/tweets/search(.:format)  

であればcollectionを

 /tweets/:id/search(.:format) 

であればmember を使います。

HTTPメソッドもrails routes を実行すればわかりますが、
基本的にはgetが多いイメージです。。

get:何か出力を要求
post:データを送る という感覚です。

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