sa1*_*125 3 ruby json ruby-on-rails mongoid active-model-serializers
我正在使用active_model_serializersgem来控制序列化数据,并看到一些奇怪的行为.我的代码看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
class UsersController < ApplicationController
respond_to :json, :html
def index
@users = User.all
respond_with @users
end
end
Run Code Online (Sandbox Code Playgroud)
...
<script type="text/javascript">
$(function(){
// using a backbone collection to manage data
App.users = new App.Collections.Users(<%= @users.to_json.html_sage %>);
});
</script>
Run Code Online (Sandbox Code Playgroud)
现在,当我渲染视图时,我看到full_name我的数据中缺少属性(通过模型中的方法生成):
{
"id": 2,
"first_name": "John",
"last_name": "Doe"
}
Run Code Online (Sandbox Code Playgroud)
当我访问/users.json(我resources :users在我的routes.rb文件中)时,我看到了正确的JSON:
{
"id": 2,
"first_name": "John",
"last_name": "Doe",
"full_name": "Jonn Doe"
}
Run Code Online (Sandbox Code Playgroud)
我看不出我可能做错了什么 - 任何输入都会有所帮助.谢谢.
| 归档时间: |
|
| 查看次数: |
4227 次 |
| 最近记录: |