加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何将完整域映射到基于子域的Rails应用程序帐

发布时间:2020-12-17 03:11:36 所属栏目:百科 来源:网络整理
导读:我正在开发一个Rails应用程序,默认情况下会将用户帐户设置为他们选择的子域.作为一种选择,他们可以将自己的完整域名映射到他们的帐户. 到目前为止,这就是我设置的方式.我使用subdomain-fu为路由供电: # routes.rbmap.with_options :conditions = {:subdomai
我正在开发一个Rails应用程序,默认情况下会将用户帐户设置为他们选择的子域.作为一种选择,他们可以将自己的完整域名映射到他们的帐户.

到目前为止,这就是我设置的方式.我使用subdomain-fu为路由供电:

# routes.rb
map.with_options :conditions => {:subdomain => true} do |app|
  app.resources # User's application routes are all mapped here
end

map.with_options :conditions => {:subdomain => false} do |www|
  www.resources # Public-facing sales website routes are mapped here
end

除此之外,我使用method described here来获取通过子域或完整域访问的帐户:

before_filter :set_current_account

def set_current_account
  if request.host.ends_with? current_domain
    # via subdomain
    @current_club = Club.find_by_subdomain(current_subdomain)
  else
    # via full domain
    @current_club = Club.find_by_mapped_domain(request.host)
  end
end

我还没有完成构建它的过程,但我已经看到我将遇到路由问题.如果request.host是一些random.com域,那么subdomain-fu不会路由相应的路由?

我假设这不是一个不寻常的问题,所以任何人都可以分享他们如何处理这个问题,或者我如何配置我的路线来做我需要的东西?

解决方法

我遇到了这个问题,试图在一个应用程序中做太多.你将开始在非常奇怪的地方做条件,你不应该这样做.我决定让2个独立的Rails应用程序将通配符域指向用户的应用程序,然后将www.domain.com和domain.com指向面向公众的一方.我知道这并没有直接“回答”你的问题.

如果您将此代码添加到该方法的顶部,那么我可以帮助您解决小代码的问题:

return @current_club if defined?(@current_club)

每次尝试访问@current_club时都不会进行查询,它会返回您已返回的结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读