1. alt

    シンタックスハイライト

    alt
Changes in body
Source | HTML | Preview
@@ -1,68 +1,68 @@
##この記事の対象者
rails tutorialも終わり、resourcesはわかるけどmemberとかcollectionは知らない人。
##内容
routes.rbで使用される、memberとcollectionの違いを解説します。
##memberとcollectionが使用される目的
どちらもresourcesでroutingを設定しているとき、resourcesでは自動で生成されないactionへのroutingを設定するときに使用する。
-```
+```rb
resources :users do
member do
get :follow
#follow_user GET /users/:id/follow(.:format) users#follow
get :like
#like_user GET /users/:id/like(.:format) users#like
end
end
```
user resourcesをroutingに設定しているとき、users controllerのfollow actionをroutingに設定したいって思ったとき、こんな感じで使用します。
##memberとcollectionの違い
生成するroutingに、:idが付くか付かないか。
memberは付いてcollectionは付かないです。
##memberの特徴
:idが付く。以上。
そんな事言ったら怒られそうなので詳しく書きます。
-```
+```rb
resources :users do
member do
get :follow
end
end
```
```
follow_user GET /users/:id/follow(.:format) users#follow
```
こんな感じでuser resourcesにfollow actionのroutingをmemberで追加したとき、生成されたurlにuserを識別するための:idが自動で追加されます。
##collection
memberの時と同様に、user resourcesにslide actionへのroutingを追加します。
-```
+```rb
resources :users do
collection do
get :slide
end
end
```
```
slide_users GET /users/slide(.:format) users#slide
```
こんな感じで追加されるslide actionのurlにはuserを識別するための:idがつきません。
##最後に
最後までお読みくださりありがとうございました。なんか間違いあれば指摘ください。