ruby-on-rails - 子域不适用于本地 rails env

标签 ruby-on-rails ruby ruby-on-rails-3 routing routes

我目前在开发 Ruby on Rails 应用程序时遇到了一个主要问题。我以前从未使用过子域,但自从这个项目以来,我需要这样做。


我通过 scope 添加了每个子域约束,但路由不起作用。这是我的 routes.rb:

scope module: :frontend, subdomain: ':company_id' do
  resources :RESOURCE_NAME do
    scope module: 'MODULE_NAME' do
      [...] # Some simple routes
    end
  end
  [...]
end

所以,我跳过了路由,因为它们并不是很重要,它们只是简单的getpost 事情。

现在,问题是,每次我调用 *_path 方法时,我都不会被重定向到子域(从那时起,lvh.me 一切正常)。每个子域(我还有一些)在我直接访问它们时都在工作,但在我访问主页时也是如此(http://lvh.me:3000/)。子域范围 launchpad 显示给我,而不是我在 routes.rb 中指定的直接根。

现在我要问的是,如何解决这个问题。

最佳答案

你可以去http://moo.lvh.me:3000/

在你的 Controller 中很简单,只需执行以下操作

unless request.subdomains.any?
   redirect_to subdomain: 'www'
else
   ...
   # there is no subdomain
end

关于ruby-on-rails - 子域不适用于本地 rails env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380518/

相关文章:

ruby - 是否有用于在条件为真时从数组中弹出项目的 ruby​​ 习惯用法

ruby-on-rails - rails 教程 : Putting flash messages in partial yields error "undefined method ` each' for nil:NilClass"?

ruby-on-rails - Rails Marketplace - Spree Gem 还是从头开始构建?

ruby-on-rails - Rails 如何对列求和?

ruby-on-rails - 具有多按钮形式的 Rspec

ruby-on-rails - rails : Conditional redirect in rails app controller

mysql - 用于文档摄取、存储和分面搜索的 MongoDB 或 Solr?

ruby-on-rails - 如果文章对象不为空,显示帖子链接?

ruby-on-rails - 将时间戳添加到现有表

ruby-on-rails - Rails has_many 通过条件,构建新的