Использование ActiveModel :: Serializer в Rails - данные JSON отличаются между json и индексным ответом
м используюactive_model_serializers
gem для управления данными сериализации и видения странного поведения. Мой код выглядит так:
class User
include Mongoid::Document
field :first_name, :type => String
field :last_name, :type => String
def full_name
first_name + " " + last_name
end
end
class UserSerializer < ActiveModel::Serializer
attributes :id, :first_name, :last_name, :full_name
end
контроллерclass UsersController < ApplicationController
respond_to :json, :html
def index
@users = User.all
respond_with @users
end
end
view (app / views / users / index.html.erb)...
$(function(){
// using a backbone collection to manage data
App.users = new App.Collections.Users();
});
Теперь, когда я отображаю вид, я вижу, чтоfull_name
атрибут (сгенерированный методом в модели) отсутствует в моих данных:
{
"id": 2,
"first_name": "John",
"last_name": "Doe"
}
Когда я получаю доступ/users.json
(Я имеюresources :users
в моемroutes.rb
файл), я вижу правильный JSON:
{
"id": 2,
"first_name": "John",
"last_name": "Doe",
"full_name": "Jonn Doe"
}
Я не могне вижу, что я могу делать неправильно - любой вклад поможет. Благодарю.