如何使root_url在根目录之上一层,并且仍然保持路由不变

时间:2011-02-02 23:14:28

标签: ruby-on-rails routes

我有一个正常工作的应用程序。

然后,应用程序与另一个应用程序共享,并在两个站点下面有一个主页。

                     -- Root Homepage --
            /                                  \
           |                                   |
       Website 1                           Website 2

现在,当我转到我的页面时,网站会加载。但功能却没有。

我的路线

match '/generate_csv/(:id)', :to => "main#generate_csv", :via => :post, :as => "generate_csv"
resources :main
root :to => 'main#new'

目前,我的应用程序前面是rails/website_1

如何让我的路线再次排队?

更新

所以这解决了#create方法,但我仍然试图让第一条匹配路线正常工作..

scope "rails" do
  resources :main
  match 'main/generate_csv/(:id)', :to => "main#generate_csv", :via => :post, :as => "generate_csv"
end

2 个答案:

答案 0 :(得分:0)

通过执行以下操作合并两个单独的网站时,可能更容易使用子域作为替代方法:

  constraints(:subdomain => /website1/) do
    match '/' => 'website2/dashboard#index'
  end

否则,可以尝试范围:

scope module => "website1" do
  resources :main
end

答案 1 :(得分:0)

通过两次编写路线解决了这个问题。这不可能是正确的:

  scope "rails" do
    resources :main
    match 'main/generate_csv/(:id)', :to => "main#generate_csv", :via => :post, :as => "generate_csv"
  end

  resources :main
  match 'main/generate_csv/(:id)', :to => "main#generate_csv", :via => :post, :as => "generate_csv"
  root :to => 'main#new'