在我的 API 中,我通过以下方式将 ActiveRecord 对象转换为 json:
user.to_json :methods => :new_messages
使用 irb,当我执行此语句时,我得到:
{someAttr: someValue, ....}
这是完美的。这是一个单一的对象,所以它没有被包裹在一个数组中。现在,当我像这样在 sinatra 应用程序中运行它时:
get '/api/users/:fb_id' do |fb_id|
user = User.where :fb_id => fb_id
user.to_json :methods => :new_cookies
end
它将它包装在一个数组中!!!像这样:
[{someAttr: someValue, ....}]
我该如何解决这个问题,更重要的是,为什么?!?