投稿時にJSONデータをPostgreSQLに保存するgrapeを使用してAPIを作成しようとしています。サンプルJSONは次のとおりです。
{
"about": "this is about me",
"company_name": "David Co",
"company_url": "http://google.com",
"created_at": "2013-02-03T13:09:37+05:30",
"email": "jones@david.com",
"first_name": "David",
"google_plus": "http://google.com",
"id": 1
}
これはRubyコードです:
class Posts < Grape::API
version 'v1', :using => :path
format :json
resource 'posts' do
get "/" do
Post.all
end
get "/:id" do
Post.find(params['id'])
end
post "/create" do
Post.create(params['post'])
end
end
end
私はこのサンプルに従っています。これは上記のJSONで正常に機能します。
次のようなより複雑なJSONで機能するようにコードを変更するにはどうすればよいですか?
{
"about": "this is about me",
"company_name": "David Co",
"company_url": "http://google.com",
"created_at": "2013-02-03T13:09:37+05:30",
"email": "jones@david.com",
"first_name": "David",
"google_plus": "http://google.com",
"id": 1,
"chall": [{
"attributes": {
"type": "tegory__c",
"url": "/services0/sobjects/__c/a08Z0000000RmoTIAS"
}
}
現在のデータベーススキーマは次のとおりです。
create_table :posts do |t|
t.string :first_name
t.string :email
t.string :company_name
t.string :google_plus
t.string :about
t.string :company_url
t.timestamps
end