【问题标题】:Put many resources and paths under subdomain (Rails Routes)将许多资源和路径放在子域下(Rails Routes)
【发布时间】:2015-07-18 00:29:55
【问题描述】:

我想将一堆东西转发到我的 rails 应用程序中的子域(包括嵌套资源),而不是通过我的所有视图来更新所有 link_to _path 链接。这可能吗?

编辑

到目前为止,我有以下内容。问题是,无论有没有子域,我都可以访问所有内容,而一旦我进入或离开应该在子域上的资源,就不会被重定向。例如。 example.com/appsconnect.example.com/apps 相同,站点根目录可以是example.comconnect.example.com

scope '/' do
 with_options :conditions => {:subdomain => 'connect'} do |site|

  site.resources :contracts
  site.resources :bills
  site.resources :feedbacks
  site.resources :newsletters
  site.resources :contacts
  site.resources :apps do
    site.resources :elements, controller: 'apps/elements' do
      site.resources :features, except: [:index], controller: 'apps/elements/features' do
        member do
          site.post 'complete'
        end
      end
    end
    site.resources :comments, controller: 'comments'
    site.resources :bills, controller: 'bills'
    site.resources :contracts, controller: 'contracts'

    end
  end
end

编辑 2

config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
     r307 %r{/apps/(.*)}, 'http://connect.localhost:3000/apps/$1'
end

【问题讨论】:

    标签: ruby-on-rails routes subdomain rails-routing


    【解决方案1】:

    https://github.com/jtrupiano/rack-rewrite 会让你做到这一点。它与 Web 服务器无关,因此您在 heroku 上并不重要。

    例如。

    config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
      r307 %r{/apps/(.*)}, 'http://connect.example.com/apps/$1'
    end
    

    将为 /apps/ 的请求发出重定向以转到 connect.example.com/apps/

    【讨论】:

    • 看起来很酷!做我想做的事情的任何文件?恐怕我似乎无法在阅读中找到我想要的东西
    • 我举个例子,如果您只希望重定向发生在其中一个子域上,您还可以添加 :host
    • 有些事情搞砸了,伙计。现在我的本地主机被重定向到我的生产站点或example.com。检查编辑。
    • 编辑中没有example.com?如果不确切知道您正在执行哪些步骤以及正在发生什么,那么很难为您提供帮助。尝试回答 1) 你在哪里测试 (dev/staging/prod) 2) 你做了什么 3) 你期望发生什么 4) 正在发生什么
    • 没错,这就是为什么我不知道example.com 来自哪里。 1) dev (localhost), 2) 仅上面的代码 3) 将子域connect 添加到以apps/ 开头的所有路径中 4) 在谷歌浏览器上:转到connect.localhost/apps/1 时的重定向循环,但connect.local/apps 工作和以前一样(在原始问题中)并从localhost/anything 重定向到我的生产站点
    猜你喜欢
    • 2010-11-20
    • 2017-07-11
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多