0

meteor でデフォルトのエラー ページを定義したいと思います。つまり、アプリケーションがクラッシュしたり、他のエラーが発生した場合、ユーザーは次のような「わかりやすい」ページにリダイレクトされる必要があります。

ありがとうございました

4

1 に答える 1

2

ルーティングには BackboneJS( Backbone Router ) を使用する必要があります。このコードを使用すると、セッション変数 'page_type' によって、間違った URL にアクセスしているかどうかがわかります。

var BackboneRouter = Backbone.Router.extend({
  routes: {
    "/":            "default",
    ":error":       "list"
  },
  default: function () {
    Session.set("page_type", "default");
  },
  error: function () {
    Session.set("page_type", "error");
  }
});

Router = new BackboneRouter;

Meteor.startup(function () {
  Backbone.history.start({pushState: true});
});

これで、'page_type' を使用して、テンプレート エンジンにどのテンプレートをロードするかを伝えることができます。

Template.tmp.route = function () {
  if (Session.get("page_type") == "default") {
    return true;
  } else {
    return false;
  }


<template name="tmp">
{{#if route}}
  {{> default}}
{{else}}
  {{> error}}
{{/if}}
</template>
于 2012-07-16T22:12:13.527 に答える