我运行一个有多个域名的rubyonrails网站。我在数据库中有一个“Website”表,其中存储了与每个域名相关的配置值:
-域 -姓名 -等等。。。
目前,我在应用程序控制器中的每个请求开始时(在“过滤器”之前)加载网站对象:
@网站=Website.find_by_域(请求.host)
问题是当我需要从模型的方法访问@website对象时。我想避免到处都要通过@website。最好的解决方案是使用类似APP_CONFIG的东西,但是每个域名都有。
def sample_model_属性 - - "#{@网站名称}是一个很棒的网站!” 结束
你会怎么做?
model_helper 方法。
相反,您可以在网站类上使用一种singleton方法,例如:
class Website < ActiveRecord::Base cattr_accessor :current_website end
然后您可以在控制器中执行以下操作:
before_filter :load_current_website def load_current_website Website.current_website = Website.find_by_domain(request.host) end