agm*_*eod 18 ruby-on-rails asset-pipeline
我们有一个rails应用程序,我最近从Rails 3.0更新到Rails 3.2.这个应用服务多个客户.要为每个客户端自定义它,我们有目录app/themes.在有子模块.每个子模块包含类的东西locales/en.yml,views/layouts,views/controller_name等我们使用prepend_view_path添加主题的意见,并I18n.load_path在语言环境中添加.我们正在考虑使用资产管道,以便我们可以将所有客户端材料混合在公共目录之外,并将其保存在每个主题中.
有没有办法可以动态告诉rails加载我想要的主题/主题名称/资源文件夹?我们使用设置逻辑来设置哪个主题是活动的.因此,如果我将主题设置为"google",ApplicationController则会从路径中加载文件:
app/themes/google/locales/*.yml
app/themes/google/views
Run Code Online (Sandbox Code Playgroud)
我希望能够做的是拥有清单文件,
app/themes/google/assets/stylesheets/application.css
Run Code Online (Sandbox Code Playgroud)
布局很容易访问,就像在app/views/layouts文件中一样:
= stylesheet_link_tag "application"
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做到这一点?或者我们是否需要手动将资产移动到实际资产目录中?
agm*_*eod 16
能够在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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18952 次 |
| 最近记录: |