くそー、それはまた私です...
RocketPants
gitからの引用:
サポート
active_model_serializers
- ActiveModelSerializers を使用する場合は、私たちが対応します。さらに良いことに、公開呼び出しで期待どおりにパススルーすると、:serializer
呼び出しが自動的に処理されます。
それが私がやろうとしていることです:
def friends
@user = User.find_by_id(params[:id])
expose @user.friends.first(params[:limit].to_i), serializer: UserJustNameSerializer
end
そして、それがシリアライザーを次のように実装する方法ですuser_serializer.rb
。
class UserSerializer < ActiveModel::Serializer
....
end
class UserJustNameSerializer < ActiveModel::Serializer
attributes :id, :first_name, :last_name, :full_name, :avatar_thumb
def avatar_thumb
object.avatar.url(:thumb)
end
end
expose
オプションなしで使用するserializer
と、 に従って適切に JSON が作成されUserSerializer
ます。使用しようとすると、次のUserJustNameSerializer
エラーが発生します。
NameError (uninitialized constant Api::V1::UsersController::UserJustNameSerializer)
RocketPants
問題は、シリアライザへの道を適切に示す方法ですか? 現在、UsersController でそれを見つけようとしています。