0

Ember が同じルート モデルをルートに追加し続けるという問題があります。

# ROUTER
MediaUi.Router.map(function () {
    this.route('movie', { path: '/movie/:id' });
});

# ROUTE
MediaUi.IndexRoute = Ember.Route.extend({
  'model': function() {
    return MediaUi.Media.find();
  }
});

# MODEL
MediaUi.Media = DS.Model.extend({
    'type':     DS.attr('string'),
    'title':    DS.attr('string'),
    'director': DS.attr('string'),
    'year':     DS.attr('number'),
    'url':      DS.attr('string'),
    'media':    DS.attr('string'),
    '_id':      DS.attr('string'),
    'description': DS.attr('string', { 'defaultValue': 'TBD' })
});x

DS.RESTAdapter.map('MediaUi.Media', {
    'id':   { 'key': '_id' }
});

DS.RESTAdapter.reopen({
  url: 'http://localhost:3000'
});


#TEMPLATE
<table class="table">
    <thead>
        <tr>
            <th>Title</th>
            <th>Description</th>
            <th>Actions</th>
        </tr>
    </thead>
  {{#each item in model}}
    <tr {{ bindAttr data-id="item._id" }}>
        <td>{{#linkTo 'movie' item }} {{ item.title }} {{/linkTo}}</td>
        <td><p>{{ item.description }}</p></td>
        <td>
            <button {{ action "launchModal" item target="view" }} class="btn btn-info">More Information</button>
            <button class="btn btn-warning">Edit</button>
            <button class="btn btn-danger">Remove</button>
        </td>
    </tr>
  {{/each}}
</table>

{{ view MediaUi.ModalView }}

# JSON


{
  "medias": [
    {
      "type": "movie",
      "title": "The Dark Knight",
      "director": "Christopher Nolan",
      "year": 2008,
      "url": "http://www.imdb.com/title/tt0468569/",
      "media": "Blu-ray",
      "_id": "51e2fc1b4c19500de6000001"
    },
    {
      "type": "movie",
      "title": "Inception",
      "director": "Christopher Nolan",
      "year": 2010,
      "url": "http://www.imdb.com/title/tt1375666/",
      "media": "Blu-ray",
      "_id": "51e2fc1b4c19500de6000002"
    },
    {
      "type": "movie",
      "title": "The Dark Knight Rises",
      "director": "Christopher Nolan",
      "year": 2012,
      "url": "http://www.imdb.com/title/tt1345836/",
      "media": "Blu-ray",
      "_id": "51e2fc1b4c19500de6000003"
    },
    {
      "type": "movie",
      "title": "Django Unchained",
      "director": "Quentin Tarantino",
      "year": 2012,
      "url": "http://www.imdb.com/title/tt1853728/",
      "media": "Blu-ray",
      "_id": "51e2fc1b4c19500de6000004"
    },
    {
      "type": "movie",
      "title": "City of God",
      "director": "Kátia Lund,Fernando Meirelles",
      "year": 2002,
      "url": "http://www.imdb.com/title/tt0317248/",
      "media": "DVD",
      "_id": "51e2fc1b4c19500de6000005"
    }
  ]
}

これは、次の条件が満たされている場合に発生します。

  • モデル専用ページへのユーザー遷移 ('movie/:movie_id')
  • 次に、ユーザーがブラウザーの戻るボタンをクリックするか、linkTo ハンドルバー ヘルパーで作成されたアプリケーションの戻るボタンをクリックします。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1