はじめに
この記事はTwitterで人気のハッシュタグ#100DaysOfCode
をつけて、
100日間プログラミング学習を続けるチャレンジに挑戦した16日目の記録です。
動作環境
- ruby 2.4.1
- Rails 5.0.1
現在学習している内容のリポジトリ
本日学んだこと
- AMS(Active_Model_Serializer)のCRUD操作
- belongs_toの関連付けとroutesについて
AMS(Active_Model_Serializer)のCRUD操作
通常のCRUD操作と同じことがAMSでも可能。
belongs_toの関連付けとroutesについて
Kindモデルに対してContactモデルがbelongs_toであるような関係の場合、ルーティングをネストさせることでURLに関係性を持たせることができます。
実装する時のポイントとしは、resourceの部分をresourcesのブロック内に記述すること。
Rails.application.routes.draw do
resources :kinds
resources :contacts do
resource :kind, only: [:show]
end
end
# 上記の実装により、ブロックの箇所では、以下のようなURLが生成されます
/contacts/:contact_id/kind
また、通常のルーティングと同じく、onlyオプションによって、対象となるアクションの絞り込みが可能です。