我按照 Railscast 将子域添加到 Rails 应用程序,here , 一切都与子域一起工作。现在,如果请求的子域不存在,我只是想不出一种方法来链接回没有子域的根域。
我尝试将以下内容添加到我的 application_controller.rb
文件
redirect_to root_path(subdomain: false) if @city_or_state.nil?
其中 @city_or_state
确定请求的子域是否有效。 redirect_to
返回到根目录,但不会删除子域。
例如,如果用户尝试访问 invalid.domain.com
,他们将被重定向到根目录,但不会删除子域。
我正在尝试让 invalid.domain.com
重定向到 domain.com
最佳答案
好的,我知道了。我必须使用以下内容:redirect_to root_url(:host => request.domain)
当我尝试 root_path(:host => request.domain)
时,它不起作用。仅适用于 root_url
。
我在 Daniel Kehoe 的一些评论中找到了答案 here
当尝试访问不存在的域时,将从 URL 中删除无效的子域。
关于ruby-on-rails - 如何从 URL 中删除子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16304201/