gpt4 book ai didi

ruby-on-rails - rails 4.0 中的多个 'root to' 路由

转载 作者:数据小太阳 更新时间:2023-10-29 07:25:52 26 4
gpt4 key购买 nike

我试图让 Rails 根据子域转到不同的 controller#action,这是我目前在 routes.rb 中所做的

Petworkslabs::Application.routes.draw do

get '/', to: 'custom#show', constraints: {subdomain: '/.+/'}, as: 'custom_root'
get '/', to: "welcome#home", as: 'default_root'
end

rake 显示我希望它走的正确路线

rake routes
Prefix Verb URI Pattern Controller#Action
custom_root GET / custom#show {:subdomain=>"/.+/"}
default_root GET / welcome#home

但出于某种原因,我无法获得像 abc.localhost:3000 这样的请求来访问自定义 Controller 。它总是将它路由到 welcome#home。有任何想法吗?我是 Rails 的新手,所以任何有关一般调试的提示也将不胜感激。

编辑:我使用调试器单步执行代码,这就是我发现的

(rdb:32) 请求域“abc.localhost”(rdb:32) 请求.subdomain“”(rdb:32) request.subdomain.present?假的

看起来出于某种原因 rails 认为子域不存在,即使它存在。我想知道是不是因为我在做这个本地主机。

最佳答案

更新的答案:

在 Rails 3 和 4 上为我工作:

get '/' => 'custom#show', :constraints => { :subdomain => /.+/ }
root :to => "welcome#home"

关于ruby-on-rails - rails 4.0 中的多个 'root to' 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19171428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com