我想发送包含json
资源集合的bookmarks
响应。出于某种原因,活动模型序列化器不会按预期操纵我的json。它只呈现默认响应。
以下是BookmarksSerializer
app/serializers/bookmarks_serializer.rb
序列化程序
class BookmarksSerializer < ActiveModel::Serializer
attributes :id, :url, :title
end
和我的Api::UsersController
内部的控制器方法,其顶部有一个respond_to :json
过滤器
def index
user = User.find_by(username: params[:username])
@bookmarks = user.bookmarks
render json: @bookmarks.to_json
end
而不是仅获取:id,:title和:url,我得到完整的默认哈希
我做错了什么?我正在使用rails 4.1.5
和active_model_serializers
的github版本
宝石。
gem 'active_model_serializers', github: 'rails-api/active_model_serializers'
仅供参考:我在同一个控制器中有一个show方法,它的序列化器可以很好地获取单个资源。它只是索引方法中不呈现的集合。请帮忙
答案 0 :(得分:1)
试试这个
渲染:json =&gt; @bookmarks,each_serializer:BookmarksSerializer
答案 1 :(得分:1)
您正在使用活动模型序列化程序的主分支。 The array serializer在4天前添加,并且不接受任何可能错误的论据。您的代码应该可以正常使用0-9-stable
。尝试:
gem 'active_model_serializers', github: 'rails-api/active_model_serializers', branch: '0-9-stable'