如何过渡到 404 "catch-all" 风格的路线?

How to transition to 404 "catch-all" style route?

我在我的索引路由中查找了一个子域。它查找子域 slug 的计划并重定向到计划页面。如果没有计划 returns 它需要呈现 404 页面。这是重定向的代码。诚然,我是 ember 的新手,但这段代码似乎是正确的。我在控制台中得到零错误,它只是转到我试图重定向的路由:

controller/index.js

model: function() {
    var self = this;

    if ( this.isHomePage() ) {

      return Ember.Object.create();

    } else {

      // Get resources
      var parts = window.location.hostname.split('.');
      var subdomain = parts[0];

      return this.store.find('plan', { plan_subdomain: subdomain }).then(function(plans) {
        var returnedPlan = plans.get('firstObject');
        if (Ember.isEmpty(returnedPlan)){
          debugger;
          return self.transitionTo('fourOhFour');
        } else {
          return returnedPlan;
        }
      });

    }
  },

router.js

  this.route("fourOhFour", { path: "*path"});

您将 404 路径指定为包罗万象

this.route("fourOhFour", { path: "*path"});

这是有道理的,但是你告诉 Ember 转换到那个通配符路由,但是 URL 是什么? /*?

您需要通过为 transitionTo()

指定第二个参数来告诉 Ember 该路径应该是什么

请参阅 here 示例

我回答过类似的问题here