Help us understand the problem. What is going on with this article?

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

自分が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:データを送る という感覚です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away