控制器中的索引方法不适用于活动模型序列化程序
我想发送一个包含我的bookmarks
资源集合的json
响应。 出于某种原因,主动模型序列化器不会按预期操纵我的json。 它只呈现默认响应。
这是app/serializers/bookmarks_serializer.rb
BookmarksSerializer
序列化app/serializers/bookmarks_serializer.rb
class BookmarksSerializer < ActiveModel::Serializer attributes :id, :url, :title end
和我的Api::UsersController
控制器方法,它在顶部有一个respond_to :json
filter
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
gem的github版本。
gem 'active_model_serializers', github: 'rails-api/active_model_serializers'
仅供参考:我在同一个控制器中有一个show方法,它的序列化器可以很好地获取单个资源。 它只是索引方法中不呈现的集合。 请帮忙
您正在使用活动模型序列化程序的主分支。 数组序列化程序是在4天前添加的,并且不接受任何可能错误的参数。 你的代码应该可以很好地对抗0-9-stable
。 尝试:
gem 'active_model_serializers', github: 'rails-api/active_model_serializers', branch: '0-9-stable'
试试这个
render:json => @ bookmarks,each_serializer:BookmarksSerializer
- Ruby On Rails,错误运行命令“rails generate controller”,输入/输出错误@ rb_sysopen,(Errno :: EIO)
- Ruby Regex用于字符串中的重复数字
- 活动模型序列化程序belongs_to
- 更改活动模型序列化器默认适配器
- Rails 3.2,保存序列化哈希不会保存number_with_delimiter()
- 使用active_model_serializers实现API版本控制的正确方法
- Rails Active Model Serializer – has_many并访问父记录
- Rails ActiveModelSerializer将两个相同类型模型的列表组合成一个序列化响应,具有不同的名称
- 使用active_model_serializers序列化深层嵌套关联
- 在activemodel序列化程序中使用带有条件的属性
- 具有嵌入式ID和侧载的Ember-Data和Active Model Serializer的has_many配置