Rails

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

はじめに

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