2012-06-22 14 views
5

URLにパスをマッチさせる必要があります。パスは、指定されたパターンの後のURLの終わりでなければなりませんが、私はそれを行うことはできません。 Ember.jsは常に次のスラッシュに一致します。このルータでEmber.jsルーティング:URLの末尾に一致

var router = Ember.Router.extend({ 
    location: 'history', 
    enableLogging: true, 
    root: Ember.Route.extend({ 
     index: Ember.Route.extend({ 
      route: '/' 

      repo: Ember.Route.extend({ 
       route: '/:repo_id', 

       index: Ember.Route.extend({ 
        route: '/' 
       }), 

       files: Ember.Route.extend({ 
        route: '/files', 

        index: Ember.Route.extend({ 
         route: '/' 
        }), 

        sub: Ember.Route.extend({ 
         route: '/:path' 
        }) 
       }) 
      }) 
     }) 
    }) 
}); 

  • /myrepo/files/root.repo.files.index
  • /myrepo/files/READMEroot.repo.files.subと一致しますpath=README
  • /myrepo/files/folder/READMEroot.repo.files.subに一致する一致し、/myrepo/files/folder/ためpath=folder代わりのpath=folder/README
  • に私を再ルーティングします3210

スラッシュが入っているかどうかにかかわらず、URLの末尾が:pathに一致するようにするにはどうすればよいですか?

答えて

3

は、この機能はEmber.jsリポジトリのmaster支店にcommittedてきました。それは1.0.0-pre2ビルドにはないので、新しいバージョンがリリースされるまでbuild Ember.js yourselfかprebuiltバージョンが必要です。

基本的な使い方

の代わりにコロン:を使用して動的セグメントを前に置く、アスタリスク*を使用しています。あなたのルートは、次のような構文を使用します:

Ember.Route.extend({ 
    route: '/:repo_id/files/*path' 
}); 

パスセグメントは、通常の動的プロパティと同じように使用できます。ただし、URLにfiles/の後にスラッシュを含むものが含まれます。

関連する問題