📝
AlbaをRailsに導入する時に使えるメモ
今までRailsのAPI関連のGemを一通り触ってきました。その中でも最近気に入っている、シンプルかつ軽量なAlbaを導入するためのメモを残しておきます。
前提条件
RailsをアプリやWebのAPIサーバーとして利用をしていて、AlbaはそのAPIレスポンスで使用するResourceの定義に使用しています。
設定
Gemfileの編集
いつも通りのGemfile追記 & bundle installをしてください。
gem 'alba'
config/initializers/alba.rbの作成
設定用のファイルを作成し、以下を記述
Alba.backend = :active_support
使い方
本家のサイトを見れば大体わかりますが、まずapp/resources
ディレクトリを作成してください。その中にResourceファイルを作成していく流れです。基本的にModelごとに作っていって、あとは状況に応じてカスタマイズしたものを作っていく運用をしています。
基本形は公式サイトにも載っていますが以下のようなフォーマットとなります。
class UserResource
include Alba::Resource
root_key :user
attributes :id, :name
attribute :name_with_email do |resource|
"#{resource.name}: #{resource.email}"
end
end
これを使いたいところでで以下のように呼び出します。
# userはmodelのインスタンス など
UserResource.new(user).serialize
あとはResourceファイルの定義の内容については以下のような感じに使い分けてください。
- root_keyにはModel名
- attributesにはカラム名
- attributeには何かカスタマイズしたいレスポンスなど
Discussion