【概要】
1.結論
2.collection,memberメソッドとは何か
3.どのように使うか
4.なぜcollection,memberメソッドが必要か
5.ここから学んだこと
1.結論
member,collectionメソッドを使う!
2.collection,memberメソッドとは何か
簡単に言いますと、
member:resourcesメソッド以外のアクション(特定のデータあり)
collection:resourcesメソッド以外のアクション(特定のデータなし)
特定のデータとは”:id”のことを指し、
“member”はAというUserに紐づいているものしか
見れない(=特定の人が特定の情報しかみれない)アクションをしたい場合に使用できます!例えばお気に入り登録を見たい場合です。
“collection”は、全てのデータを対象とします。例えば検索機能を追加したい場合です。
3.どのように使うか
member,collectionも使い方は同じで、
collection do
get ‘*****(入れたい任意のアクション名)’
で使用できます!
もちろんmember,collectionを使用せずその他のアクションを設定す流方法があります。
memberメソッドですと
get ‘users/:id/(任意のアクション名)’, to ‘users#(任意のアクション名)’
colletionメソッドですと
get ‘users/(任意のアクション名)’, to ‘users#(任意のアクション名)’
になります。
ただ注意点としてはprefixが自動生成されないので
冗長な表現になりかねないです。簡単にかけるものは簡潔にプログラムしないと、保守性・拡張性・可読性が損なわれます!
4.なぜcollection,memberメソッドが必要か
結論としては、resourcesメソッド以外のアクションを行いたいからです。
つまり、member,collectionメソッドを使う!ということです。
5.ここから学んだこと
I)7つのアクション以外に設定できるアクションがあることをしり、ユーザーがが求めるユーティリティーへの対応幅が広がりました!
ii)わざわざURLを指定してアクションを設定しないといけない手間が省け
プログラムを見やすく書きやすくできる手段を知りました!