将文件夹添加到资产管道路径?

我们有一个rails应用程序,我最近从Rails 3.0更新到Rails 3.2。 这个应用服务多个客户。 要为每个客户端自定义它,我们有目录app/themes 。 在有子模块。 每个子模块都包含locales/en.ymlviews/layoutsviews/controller_name等内容。我们使用prepend_view_path添加主题视图,并使用I18n.load_path添加到语言环境中。 我们正在考虑使用资产管道,以便我们可以将所有客户端材料混合在公共目录之外,并将其保存在每个主题中。

有没有办法我可以动态告诉rails加载我想要的主题/主题名称/资产文件夹? 我们使用设置逻辑来设置哪个主题是活动的。 因此,如果我将主题设置为“google”,则ApplicationController会从路径中加载文件:

 app/themes/google/locales/*.yml app/themes/google/views 

我希望能够做的是拥有清单文件,

 app/themes/google/assets/stylesheets/application.css 

可以轻松访问布局,就像在app/views/layouts文件中一样:

 = stylesheet_link_tag "application" 

有没有办法可以做到这一点? 或者我们是否需要手动将资产移动到实际资产目录中?

能够在application.rb中执行此操作:

 require "#{Rails.root}/app/models/settings.rb" config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/stylesheets" config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/images" config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/javascripts"