【发布时间】:2016-10-27 20:21:48
【问题描述】:
鉴于以下config/routes.rb:
constraints subdomain: 'subdomain' do
get 'path', to: 'main#index', as: :sample
end
以下作品:
Rails.application.routes.url_helpers.sample_url(host: "a.b")
# "http://subdomain.a.b/path"
以下失败:
Rails.application.routes.url_helpers.sample_url(host: "a.b.c")
# "http://subdomain.b.c/path"
有什么方法可以修复它,这样子域就不会替换主机中现有的子域,而是链接起来(即http://subdomain.a.b.c/path)?我意识到我可以将路由中的子域更改为 subdomain.a - 但是维护多个子域/部署会有点痛苦。
【问题讨论】:
-
请注意,如果您正在调用子域,则可以使用
_url助手而不是_path。 EGsample_url(:args)-- 将节省调用Rails.application.routes... -
@RichardPeck 是的 - 但如果您从控制台调用,则需要前缀
Rails.application.routes.url_helpers。请注意,该示例使用_url助手。 -
是的,当然,我没有意识到你是从 cmd 执行的。
标签: ruby-on-rails ruby