2014-08-30 65 views
1

我想發送一個json響應,其中包含我的bookmarks資源的集合。出於某種原因,活動模型序列化程序只是不按預期操縱我的json。它只是呈現默認響應。控制器中的索引方法不適用於活動模型串行器

這是我在app/serializers/bookmarks_serializer.rb

class BookmarksSerializer < ActiveModel::Serializer 
    attributes :id, :url, :title 
end 

BookmarksSerializer串行和我Api::UsersController在我的控制方法,它的頂部有

def index 
    user = User.find_by(username: params[:username]) 
    @bookmarks = user.bookmarks 
    render json: @bookmarks.to_json 
end 

非但沒有隻的respond_to :json過濾器:ID,:title和: url,我得到完整的默認散列

我在做什麼錯?我正在使用rails 4.1.5和github版本的active_model_serializers 寶石。

gem 'active_model_serializers', github: 'rails-api/active_model_serializers' 

FYI:我有相同的控制器內的表演方法和它的串行拿起單個資源就好了。這只是索引方法中不是呈現的集合。請幫助

回答

1

使用Active模式串行的主分支。 The array serializer是在4天前添加的,並且不接受可能錯誤的任何參數。您的代碼應該對0-9-stable有效。嘗試:

gem 'active_model_serializers', github: 'rails-api/active_model_serializers', branch: '0-9-stable'

+0

我有類似的問題,我改變我的序列化寶石到最新的穩定版本,但它似乎沒有工作。 – 2016-06-19 11:08:30

1

試試這個

渲染:JSON => @bookmarks,each_serializer:BookmarksSerializer

+0

不起作用:我得到引發ArgumentError在阿比:: UsersController#指數 錯誤的參數數目(1 0)。這是一個完整的堆棧跟蹤:https://gist.github.com/amite/b79fc42bfd73de5a07bd – 2014-08-30 06:29:46

相關問題