0

私は Ember.js を使い始めたばかりで、バックエンドで ember-rails を使用しています。私が抱えている問題は、アイテムのリストを取得していますが、テンプレートにデータがレンダリングされていないことです。

router.js.coffee

App.Router.map (match)->
# match('/').to('index')
   @resource "stories"

stories_route.js.coffee

App.StoriesRoute = Ember.Route.extend
model: -> 
    App.Story.find()

ストーリーズ.ハンドルバー

<h1>Stories</h1>

<ul>
{{#each story in controller}}
      <li>{{story.title}} A</li>
{{else}}
      <li>There are no stories.</li>
{{/each}}
</ul>

{{outlet}}

Rails から取得した JSON は次のとおりです。

{
   "stories":[
      {
         "story":{
            "id":1,
            "title":"Test",
            "description":"This is a test story"
         }
      }
   ]
}

編集:

レンダリングする正しいテンプレートを取得できました。データが空であることだけです。

HTML は次のようになります。

<div id="ember295" class="ember-view">
   <h1>Stories</h1>
   <ul>
   <script id="metamorph-2-start" type="text/x-placeholder">
   </script>
   <script id="metamorph-4-start" type="text/x-placeholder">
   </script>
      <li>
         <script id="metamorph-5-start" type="text/x-placeholder">
         </script>
         <script id="metamorph-5-end" type="text/x-placeholder">
         </script>
         A
      </li>
    <script id="metamorph-4-end" type="text/x-placeholder">
    </script>
    <script id="metamorph-2-end" type="text/x-placeholder">
    </script>
  </ul>
  <script id="metamorph-3-start" type="text/x-placeholder">
  </script>
  <script id="metamorph-3-end" type="text/x-placeholder"></script>
</div>
4

1 に答える 1

0

storiesが最初のルートでアクセス可能な場合、次"/"のようなパスを定義できます。

App.Router.map () ->
  @resource('stories', {path: '/'})

または、次のようにインデックス ルートを定義してそこからリダイレクトすることもできます。

App.IndexRoute = Ember.Route.extend
  redirect: ->
    @transitionTo('stories')

2 番目の概念を示す動作中のjsbinを参照してください。

編集

あなたの問題は、結果にレコードのコレクションが含まれている場合、storyJSON の追加レベルを削除する必要があるため、次のようになることだと思います。

{
  "stories":[
    {
      "id":1,
      "title":"Test",
      "description":"This is a test story"
    }
  ]
}

単一のレコードの場合、たとえば/stories/123JSON は次のようになります。

{
  "id":1,
  "title":"Test",
  "description":"This is a test story"
}

それが役に立てば幸い

于 2013-06-03T13:44:53.693 に答える