LoginSignup
2
1

More than 5 years have passed since last update.

RailsのAMSについてまとめ_100DaysOfCodeチャレンジ18日目(Day_18:#100DaysOfCode)

Posted at

はじめに

この記事はTwitterで人気のハッシュタグ#100DaysOfCodeをつけて、
100日間プログラミング学習を続けるチャレンジに挑戦した18日目の記録です。

動作環境

  • ruby 2.4.1
  • Rails 5.0.1

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

本日学んだこと

  • AMSについてのまとめ

AWSについてのまとめ

ここ数日に分けて、AMS(Active_Model_Serializer)について学んできました。

RailsをAPIサーバーとして使う場合、レスポンス形式としてJSONを使うことがほとんどでしょう。

その時にAMSを導入することで、次のようなメリットが挙げられます。

  • Jbuilderよりも直感的にコードがかける
  • カスタマイズ性が高い
  • 関連付けの定義も可能なので、Modelのコード肥大化が防げる (ただし、AMSはARに依存しているが独立しているので、Modelにも別途関連付けの定義は必要)

AMSにおけるCRUD操作

AMSで定義したメソッドなどはRails内でどこからでも呼び出すことができます。

そのため、AMSを介してcontrollerでメソッドを定義すれば、Modelと同じようにCRUDの実装が可能です。

AMS初級編

AMSを導入したら、attributesを定義してみましょう。

attributesによって、レスポンスに表示するフィールドの絞り込みができるので、見通しの良いJSONを作成することができます。

attributesには引数に表示させたいシンボルを渡すだけなので、Jbuilderよりも楽にかけますね。

AMS中級、上級編

AMSについて概要がわかってきたら、実装例を参考にアプリを作ってみるのもいいですね。

実装例の参考

AMSについての記事一覧

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1