Rails 带有 www 的路由约束有效,没有 www 的域无效
Rails Routes Constraints with www is working, domain without www not working
通过另一个 Rails-Engine 项目,我能够更好地处理约束。我试着把我以前的工作拿来修改成这个。
我有一个运行子域的应用程序,www/admin
受到限制,但客户可以使用其他所有内容。我用的更简单:
constraint => "www"
由于上述方法在没有 www
且仅 example.com
的 URL 上不起作用,我正在使用以下脚本:
我把文件放在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
我正在使用的插件正在路由所有内容。它可能会覆盖我试图做的事情。但我发现这是我最好的个人选择:在引擎上使用欢迎和分离的仪表板视图。
gem 'mtwarden', '~> 2.2'
如果大家有更好的解决方案,我愿意尝试并测试。但这将完成我需要完成的工作。
通过另一个 Rails-Engine 项目,我能够更好地处理约束。我试着把我以前的工作拿来修改成这个。
我有一个运行子域的应用程序,www/admin
受到限制,但客户可以使用其他所有内容。我用的更简单:
constraint => "www"
由于上述方法在没有 www
且仅 example.com
的 URL 上不起作用,我正在使用以下脚本:
我把文件放在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
我正在使用的插件正在路由所有内容。它可能会覆盖我试图做的事情。但我发现这是我最好的个人选择:在引擎上使用欢迎和分离的仪表板视图。
gem 'mtwarden', '~> 2.2'
如果大家有更好的解决方案,我愿意尝试并测试。但这将完成我需要完成的工作。