2014-02-02 1 views
3

Как вы можете получить post/my-title (с пользовательским slug) вместо posts/2 (с id) в Ember.js?Slug urls with Ember.js

Мой подход заключался в том, чтобы добавить и использовать пулю в моей модели, но она не работает при прямом доступе. С помощью помощника {{link-to}} он работает, а также пуля. Я предполагаю, что ошибка лежит в модели PageRoute. Пробовал return this.store.find('page', {'slug': params.page_slug}) без везения.

Пример код: http://emberjs.jsbin.com/AVAgUZAb/5/edit

ответ

2

Вы несовпадающие версии Ember данных. В PageRoute вы используете модель, чтобы попытаться найти запись, которая больше не верна. См https://github.com/emberjs/data/blob/master/TRANSITION.md

Кроме того, вы действительно должны просто заменить id с пробкой, так как вы в основном оказали идеи уникальных предметов бесполезных (он же slug не должен быть уникальными, но id делает, так что происходит, когда у вас есть несколько предметы с одинаковым слизнем?) Если ваши слизняки всегда будут уникальными, вы можете также использовать их как id, нет ограничений, чтобы идентификатор был числовым.

http://emberjs.jsbin.com/AVAgUZAb/9/edit

+0

спасибо. Так просто, как только вы учитесь! – donleche

+1

Но как бы вы обеспечили, чтобы слизня всегда оставалась уникальной? – user1429980