Ruby on Rails自定义域

时间:2012-03-18 15:54:47

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 dns

我正在编写一个适用于子域名的网络应用程序。我还想添加自定义域名,以便用户可以创建CNAME,以便他们的域名(hello.com)转到他们的子域名(123.hellothere.com)。

我如何使用Ruby on Rails进行此操作?

我的应用已经有了子域名正常工作,我似乎在添加自定义域时遇到了问题。

我在数据库中有与用户博客相关的subdomaincustom_domain

我尝试过本教程 - http://glacialis.postmodo.com/posts/cname-and-subdomain-routing-in-rails - 没有运气。

修改

subdomaincustom_domain附加到Blog模型。对于子域名,我在RailsCasts

使用了本教程

1 个答案:

答案 0 :(得分:4)

我不知道你是如何设置你的子域名的,但是你应该有一些看起来像这样的代码:

def current_account
  Account.find_by_subdomain(request.subdomain) || Account.find_by_custom_domain(request.host)
end

此代码只是一个概念证明。您应该确保a)防止人们窃取彼此的域(对custom_domain参数进行唯一性检查)和b)确保他们不会将您的域输入custom_domain字段,从而允许他们拥有多个“本地”域。

编辑:如果在控制器上定义了current account方法,您还应确保使用@current_account ||=对其进行记忆,以避免对数据库进行不必要的调用。