ruby-on-rails 在Ember中设置根URL

jq6vz3qz  于 2023-01-10  发布在  Ruby
关注(0)|答案(1)|浏览(120)

我有一个应用程序,它在Ruby on Rails之上使用了ember-rails gem。
我有一个ember路由是'/projects',我想设置在根URL.我知道这是可能的设置这样一个重定向:

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

然而,这意味着我的根URL现在总是'localhost:3000/projects'。
是否可以更改根URL,使其路由到“/projects”,但仅将URL显示为localhost:3000。
我当前的router.js如下所示:

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

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

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

我的铁路路线.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

谢谢!

vsnjm48y

vsnjm48y1#

在当前版本v4.9中,您可以

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

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

相关问题