在 ember 中设置根 URL

Setting Root URL in Ember

本文关键字:URL 设置 ember      更新时间:2023-09-26

我有一个应用程序,它在Ruby on Rails之上使用了ember-rails宝石。

我有一个余烬路由,我想在根 URL 上设置"/项目"。我知道可以使用这样的重定向来设置它:

App.IndexRoute = Ember.Route.extend({
   redirect: function() {
      this.transitionTo('/projects');
    }
}); 

但是,这意味着我的根 URL 现在始终是"localhost:3000/projects"。

是否可以更改根 URL,使其路由到"/projects",但将 URL 显示为 localhost:3000。

我目前的路由器.js如下:

App.Router.reopen({
  location: 'auto',
});
App.Router.map(function() {
  this.resource('projects'), { path: '/' };
});
App.IndexRoute = Ember.Route.extend({
  redirect: function() {
    this.transitionTo('/projects');
  }
});

我的Rails routes.rb是:

Rails.application.routes.draw do
  namespace :api do
    namespace :v1 do
      resources :projects
    end
  end
  root to: 'home#index'
  get '*path', to: 'home#index'
end

谢谢!

在当前版本中v4.9您可以这样做

Router.map(function () {
  this.route('projects', { path: '/' });
});

app/router.js.这会将"/projects"的 url 设置为"/"。然后,您可以另外添加重定向,以便当您转到"localhost:3000/projects"时,它会重定向到rootURL。您也可以通过在 config/environment.js 中设置 rootURL 属性来执行此操作。