Posted at

RailsのAMSについて学ぶ_100DaysOfCodeチャレンジ16日目(Day_16:#100DaysOfCode)

More than 1 year has passed since last update.


はじめに

この記事はTwitterで人気のハッシュタグ#100DaysOfCodeをつけて、

100日間プログラミング学習を続けるチャレンジに挑戦した16日目の記録です。


動作環境


  • ruby 2.4.1

  • Rails 5.0.1


現在学習している内容のリポジトリ

https://github.com/yuta-ushijima/notebook-api-on-rails


本日学んだこと


  • 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オプションによって、対象となるアクションの絞り込みが可能です。