学習記録

アウトプット用に作りました

アクションを追加する

railsにおける基本的なアクションは、
index new create update show edit destroyの7つあります。
それ以外のアクションを追加する必要があるときは、
memberとcollecrionを使うことで追加することができます。


member

コレクションの各メンバーに対してアクションを追加します。
memberはidを伴う時に使います。

resources :tweets do
  member do
    get 'likes'
  end
end

アクションが一つの時は、onオプションを使って書くこともできます。

resources :tweets do
  get 'likes', on: :member
end

生成されるルーティング
likes_tweet GET /tweets/:id/likes(.:format) tweets#likes


collection

コレクションそのものに対してアクションを追加します。
collectionはidに伴わない時に使います。

resources :tweets do
  collection do
    get 'likes'
  end
end

memberの時と同じく、collectionのときもonオプションを使うことができます。

resources :tweets do
  get 'likes', on: :collection
end

生成されるルーティング
likes_tweets GET /tweets/likes(.:format) tweets#likes


:idでurlを識別する必要がない場合はcollectionで設定します。