我需要在提供此對象之前給這個對象一個命名根,有沒有更乾淨的方法來做到這一點?有沒有一種更清晰的方式給JSON對象一個命名根?
get '/api/ducks/:id' do |id|
content_type :json
duck = {
duck: Duck.find(id)
}
JSONP duck
end
我需要在提供此對象之前給這個對象一個命名根,有沒有更乾淨的方法來做到這一點?有沒有一種更清晰的方式給JSON對象一個命名根?
get '/api/ducks/:id' do |id|
content_type :json
duck = {
duck: Duck.find(id)
}
JSONP duck
end
我不知道你正在使用
假設你正在使用的ORM主動記錄
你可以設置 一些在哪裏應用全局配置的配置
ActiveRecord::Base.include_root_in_json = true
或
Duck.find(id).as_json(:root=>true)
http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html
檢查該SO回答太https://stackoverflow.com/a/6515973/518832
對於MongoMapper
class Something
include MongoMapper::Document
self.include_root_in_json = true
end
一第二則
JSONP Duck.where(:id=>id).to_json
應該按照這個GitHub的評論 https://github.com/jnunemaker/mongomapper/issues/392
你也想檢查源工作,它的工作原理只是知識
https://github.com/jnunemaker/mongomapper/blob/master/lib/mongo_mapper/plugins/serialization.rb
唯一的清潔方法是刪除不需要的變量:
get '/api/ducks/:id' do |id|
content_type :json
JSONP { duck: Duck.find(id) }
end
我不知道是什麼你使用服務器端,但也許在你的環境中,你可以有像https://github.com/rails-api/active_model_serializers – 2013-04-23 07:11:39