【发布时间】:2015-01-01 03:41:10
【问题描述】:
我在我的项目中为 json api 使用 rails-api gem,为此我使用了活动模型序列化器 gem 来序列化我的对象,但有些对象没有使用活动模型序列化器进行序列化。
我的序列化程序文件夹中有一个 MessageSerializer
class MessageSerializer < ActiveModel::Serializer
attributes :id, :sender_id, :recipient_id, :sender_type, :subj, :body, :status, :sender
def sender
object.user.try('username')
end
end
我的消息控制器如下
class Api::MessagesController < Api::BaseController
def index
@messages = current_user.incoming_messages
render json: @messages, serializer: MessageSerializer
end
end
但问题在于,抛出给客户端的序列化对象包含消息模型中的所有字段,即;它也包含 created_at、updated_at 字段。
好像它没有使用序列化器。
可能出了什么问题? 我搜索了很多关于它但没有找到任何对我有帮助的帖子。
谢谢
【问题讨论】:
-
把这个改成
class Api::MessagesController < Api::BaseController改成class Api::MessagesController < ApplicationController,改成也渲染json:@messages,试一次 -
不,不好。 Api::BaseController 类继承 ApplicaionController 类。所以基本上是一样的。
标签: ruby-on-rails active-model-serializers rails-api