属性「名前」を使用してユーザー レコードを検索する ember ルートを構築したいと考えています。
問題は、restful バックエンドの show アクションです。ファインダーとして「name」を使用するように構成されていません。
したがって、「name」を使用してバックエンド インデックス アクションをクエリし、コレクションで返される最初のレコードをインスタンス化したいと思います。
これは、ember-dataを使用して可能になるはずです。
エンバールートは次のとおりです。
edit: Em.Route.extend
route: '/:name/edit'
deserialize: (router, params) ->
user = router.get('store').findQuery( App.User, { name: params.name } )
#return user[0]
#return user.get('content')[0]
return user
serialize: (router, user) ->
name: user.get('name')
connectOutlets: (router, user) ->
router.get('applicationController').connectOutlet('user', user)
アイデアはありますか?
ダンの提案を使用したソリューション
loading: Em.State.extend()
edit: Em.Route.extend
route: '/:name/edit'
deserialize: (router, params) ->
user = router.get('store').findQuery( App.User, { name: params.name } )
deferred = $.Deferred()
user.addObserver "isLoaded", -> deferred.resolve( user.materializedObjectAt(0) )
return deferred.promise()
serialize: (router, user) ->
name: user.get('name')
connectOutlets: (router, user) ->
router.get('applicationController').connectOutlet('user', user)