【问题标题】:Rails: Linking from Subdomain to Main Domain and BackRails:从子域链接到主域并返回
【发布时间】:2016-10-31 22:06:10
【问题描述】:

我有一个应用程序,其子域适用于共享同一域的不同人(即www.liz.domain.comwww.anthony.domain.com 等)。我需要创建从一个子域到主域并返回的链接,但不知道如何使其工作。我的路线是这样的:

Rails.application.routes.draw do
    constraints subdomain: 'liz' do
        scope module: 'liz', as: 'liz' do
            get 'home/index'
            root 'home#index'
            resources :inquiries
            get 'services/hire'
            get 'services/dev'
            get 'services/design'
            get 'services/branding'
            get 'services/portfolio'
        end
    end

    constraints subdomain: 'anthony' do
        scope module: 'anthony', as: 'anthony' do
            get 'home/index'
            root 'home#index'
        end
    end

    get 'home/index'
    root 'home#index'
end

当我rake routes 时,结果是这样的:

                Prefix Verb   URI Pattern                   Controller#Action
        liz_home_index GET    /home/index(.:format)         liz/home#index {:subdomain=>"liz"}
              liz_root GET    /                             liz/home#index {:subdomain=>"liz"}
         liz_inquiries GET    /inquiries(.:format)          liz/inquiries#index {:subdomain=>"liz"}
                       POST   /inquiries(.:format)          liz/inquiries#create {:subdomain=>"liz"}
       new_liz_inquiry GET    /inquiries/new(.:format)      liz/inquiries#new {:subdomain=>"liz"}
      edit_liz_inquiry GET    /inquiries/:id/edit(.:format) liz/inquiries#edit {:subdomain=>"liz"}
           liz_inquiry GET    /inquiries/:id(.:format)      liz/inquiries#show {:subdomain=>"liz"}
                       PATCH  /inquiries/:id(.:format)      liz/inquiries#update {:subdomain=>"liz"}
                       PUT    /inquiries/:id(.:format)      liz/inquiries#update {:subdomain=>"liz"}
                       DELETE /inquiries/:id(.:format)      liz/inquiries#destroy {:subdomain=>"liz"}
     liz_services_hire GET    /services/hire(.:format)      liz/services#hire {:subdomain=>"liz"}
      liz_services_dev GET    /services/dev(.:format)       liz/services#dev {:subdomain=>"liz"}
   liz_services_design GET    /services/design(.:format)    liz/services#design {:subdomain=>"liz"}
 liz_services_branding GET    /services/branding(.:format)  liz/services#branding {:subdomain=>"liz"}
liz_services_portfolio GET    /services/portfolio(.:format) liz/services#portfolio {:subdomain=>"liz"}
    anthony_home_index GET    /home/index(.:format)         anthony/home#index {:subdomain=>"anthony"}
          anthony_root GET    /                             anthony/home#index {:subdomain=>"anthony"}
            home_index GET    /home/index(.:format)         home#index
                  root GET    /                             home#index

我尝试使用主域中的<%= link_to "Liz's Page", liz_root_path(subdomain: 'liz') %><%= link_to "Liz's Page", liz_root_path %>(没有子域),但都没有链接到子域。

同样,我在子域内的页面中尝试了<%= link_to "Main Page", root_path %>,它只是链接到子域的主页,而不是站点根目录。

谁能告诉我如何在子域/主域之间来回链接?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我最终将这些从 path 更改为 url 以解决问题。

    这样<%= link_to "Liz's Page", liz_root_path(subdomain: 'liz') %> 变成了<%= link_to "Liz's Page", liz_root_url(subdomain: 'liz') %> 并且工作正常。

    【讨论】:

    • 后面呢?在liz子域中,如何链接到域?
    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 2016-02-15
    • 1970-01-01
    • 2012-05-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多