1

単純なルートの追加に問題があり、デバッグ方法がわかりません。

次のように指定されたルートがあります

Videos.Router.map(function({
this.resource('videos', {path:'/');
this.route('forms');
})

Videos.FormsRoute = Ember.Route.extend({
renderTemplate: function({
this.render({controller: 'forms'});
}
})

次のようなフォーム テンプレートもあります。

<script type="text/x-handlebars" data-template-name="forms">

しかし、URL /forms に移動すると、ページが見つからないというエラーが表示されます。

これを解決するために探し始めることができるアイデアはありますか?

4

1 に答える 1

2

/formshtml5 の場所を使用するように Ember の場所を構成する必要があるように、非ハッシュ URL を使用するには。

App.Router.reopen({
  location: 'history'
});

にアクセスしたときにレンダリングされるのと同じ index.html をレンダリングするようにサーバーを構成する必要もあります/forms。これは、サーバーによって異なります。

Apache の場合は、mod_rewriteルールが必要です。HomeControllerrails のようなものでは、の index ページを使用するために catch all ルートを追加する必要があります。あなたのroutes.rbの最後にこのような何か、

root :to 'home#index'
match "/*path" => 'home#index'

これは、以前のルートと一致しないものはすべて、HomeController.indexメソッド、またはアプリケーションの html をレンダリングしている特定のコントローラーでレンダリングする必要があることをサーバーに伝えます。

于 2013-07-26T15:37:47.287 に答える