ruby-on-rails - Ruby on Rails 自定义域

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

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

我该如何使用 Ruby on Rails 来实现这一点?

我的应用程序中已经有子域运行良好,我只是在添加自定义域时遇到了问题。

我在与用户博客相关的数据库中有子域custom_domain

我尝试按照本教程进行操作 - http://glacialis.postmodo.com/posts/cname-and-subdomain-routing-in-rails - 运气不好。

编辑

subdomaincustom_domain 附加到博客模型。对于子域,我使用了本教程 RailsCasts

最佳答案

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

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

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

编辑:您还应该确保,如果在 Controller 上定义了 current account 方法,则使用 @current_account ||= 来内存它,以避免不必要的数据库调用。

关于ruby-on-rails - Ruby on Rails 自定义域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759728/

相关文章:

ruby-on-rails - 为什么string replace会修改原来的变量值?

ruby-on-rails - 是否可以让 ActiveRecord 为使用 :joins option? 加载的行创建对象

ruby-on-rails - Rails - 在提交按钮上覆盖模型名称

ruby-on-rails - Rails 3.1 使用 app/assets/images/subdirectory 下的图像

ruby-on-rails - 如何在Rails中更改记录的主要ID?

ruby-on-rails - rails 4 : Non-RESTful path

ruby-on-rails - 在 REST API 中加载大数据 - ruby​​ on rails

layout - 必须显式渲染 :layout => 'application' in controller actions in my Rails 3 app

apache - 如何配置 mod_deflate 以提供使用 Assets :precompile 准备的压缩 Assets

mysql - Rails 3.1.2 运行非常非常慢。貌似是mysql2 ActiveRecord开发模式的问题