Rails路由与www的约束正在运行,域没有www不工作

时间:2015-11-06 04:51:20

标签: ruby-on-rails ruby ruby-on-rails-4 rails-engines

通过另一个 Rails-Engine 项目,我能够更好地处理约束。我试着把我以前的工作修改成这个。

我有一个在子域名下运行的应用程序,www/admin受到限制,但客户可以使用其他所有内容。我用的更简单:

constraint => "www"

由于上述方法不适用于没有www且只有example.com的网址,因此我使用以下脚本:

我把文件放在app/constraints/frontend_router.rb

    class FrontRouter
        def self.matches?(request)
            request.subdomain.present? && request.subdomain != "www" && request.subdomain != ENV['DEPLOYED_DOMAIN']
        end
    end

在路线文件的顶部,添加所需的文件。 www似乎有效但example.com(没有www)却没有。

require 'frontend_router'

constraints(FrontRouter) do
    # Landing Page
    scope module: "website" do
        root 'page#index'
    end
end

1 个答案:

答案 0 :(得分:0)

我正在使用的插件是路由所有内容。它可能会覆盖我试图做的事情。但我发现这是我最好的个人选择:正在使用引擎上的欢迎和分离的仪表板视图。

 gem 'mtwarden', '~> 2.2'

如果其他人有更好的解决方案,我愿意尝试并测试。但这将完成我需要做的事情。