投稿

ラベル(active_model_serializers)が付いた投稿を表示しています

active_model_serializers

イメージ
active_model_serializers active_model_serializers Ruby on RailsでJSONを整形してくれるライブラリです。 実用性という点では評価してないですが、チョロっと触ったところでは結構便利なので取っ掛かりだけでも。 導入 Gemfileに以下を追加。 gem 'active_model_serializers', '~> 0.10.0' そして以下。 > bundle install 使い方 active_modelと冠しているだけあってモデル(テーブル)と密接に関係してます。 modelsディレクトリにuser.rbがある場合はserializersディレクトリにuser_serializer.rbを作って、userテーブルのカラムからJSONを加工といった流れですかね。 とはいえテーブルと必ず紐づいている必要はなく完全に独立したserializerも作れます。実際にやってみた方が早いですね。 まず以下のテーブルがあるとします。 Railsでmodelsに以下のように作成されているものとします。 user.rb class User < ApplicationRecord has_one :user_attribute end user_attribute.rb class UserAttribute < ApplicationRecord belongs_to :user end active_model_serializers導入後ならserializerコマンドが使えるようになっていますので上記のmodelのserializerを作成します。 > rails g serializer user > rails g serializer user_attribute これでserializersというディレクトリと以下のファイルが作成されます。 user_serializer.rb user_attribute_serializer.rb 必ずしもmodelと同名でなくても構いません。modelと同名の場合は...