2013-04-20 29 views
0

假设你建立一个简单的博客系统。如何分割每个域的应用程序数据而不是每个应用程序实例?

而不是必须发布这个博客系统横跨3个不同的Heroku dynos,这将是很昂贵的东西这么简单(每个需要至少2个dynos,所以它不会闲置)...有可能分裂逻辑的选项在一个应用程序上的3个不同的域。

您如何将当前的逻辑和数据应用到应用程序的一个实例,然后将其分解,以便3个不同的域可以将范围数据用于该域?这是采取现有的数据来形成这个系统。

对不起,如果这不够清楚。

回答

1

将所有三个域指向同一个应用程序。

您将需要创建一个域模型来处理这个问题。

class Domain < ActiveRecord::Base 
    has_many :blogs 
    belongs_to :admin 
    validates_uniqueness_of :domain_string 
end 

class ApplicationController < ActionController::Base 

    before_filter :get_domain 


    def get_domain 
     @domain = Domain.find_by_domain_string(request.host) 
    end 

end 

class BlogController < ApplicationController 

    def index 
     @blogs = @domain.blogs.whatever_additional_logic_you_need 
    end 

end 

其他一切都会遵循相同的模式。

相关问题