0

Treehouse Library で iOS 開発を学んでいます。json API から情報を取得するアプリの構築。

Treehouse API ページでは、すべての投稿は「Posts」という親の下にあります ( http://blog.teamtreehouse.com/api/get_recent_summary/ )

posts: [
{
  id: 22198,
  url: "http://blog.teamtreehouse.com/using-github-pages-to-host-your-website",
  title: "Using GitHub Pages To Host Your Website",
  date: "2013-08-16 09:30:20",
  author: "Matt West",
  thumbnail: "http://blog.teamtreehouse.com/wp-content/uploads/2013/08/github-pages-feature-150x150.jpg"
},
{
  id: 22196,
  url: "http://blog.teamtreehouse.com/running-tests-in-ruby-on-rails-treehouse-quick-tip",
  title: "Running Tests in Ruby on Rails – Treehouse Quick Tip",
  date: "2013-08-15 14:30:48",
  author: "Jason Seifer",
  thumbnail: null
},

Rails アプリの API には親がありません ( http://www.soleresource.com/releases.json )

[
{
  shoe_name: "Air Jordan 4 "Green Glow"",
  release_date: "2013-08-17T00:00:00.000Z",
  shoe_colorway: "Dark-Grey/Green-Glow",
  shoe_price: "160",
  url: "http://www.soleresource.com/releases/8.json"
},
{
  shoe_name: "Nike Barkley Posite",
  release_date: "2013-08-17T00:00:00.000Z",
  shoe_colorway: "Gamma-Green/Black",
  shoe_price: "235",
  url: "http://www.soleresource.com/releases/17.json"
},

アプリを機能させるには、次のように親 (投稿) を呼び出す必要があります。

 self.upcomingReleases = [dataDictionary objectForKey:@"posts"];

API を親の下に「ラップ」するにはどうすればよいですか? (私のモデルは「リリース」と呼ばれます)

4

1 に答える 1

0

Rails アプリを REST API として使用している場合は、間違いなくActiveModel::Serializerを使用する必要があります。メタデータルートなど、JSON 応答のすべてを指定できます

ここに RailsCast があります: http://railscasts.com/episodes/409-active-model-serializers

于 2013-08-18T21:46:09.797 に答える