rails 4资产管道图像子目录

Chr*_*ugh 14 ruby-on-rails asset-pipeline ruby-on-rails-4

我知道这可能是一个简单的问题,但我很难过.

我正在处理的应用程序包含如下资产:

app
--assets
----fonts
----images
----javascripts
Run Code Online (Sandbox Code Playgroud)

我喜欢有效地组织资产以避免混乱,所以我试图像这样分解图像:

app
--assets
----fonts
----images
------icons
------views
--------home
--------admin
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想引用图像,image.png而不必在资产前添加文件夹路径views/home/image.png,我相信尽管不能像开箱即用那样设置.

dep*_*epa 29

如果您手动将下面的所有路径添加app/assets/images到您的Rails资产路径中,则可以application.rb:

Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path|
  config.assets.paths << path
end
Run Code Online (Sandbox Code Playgroud)


小智 23

在Rails 4+中,资产路径的任何更改都应该在:

配置/初始化/ assets.rb

要将app/assets/images中的所有子目录添加到路径,请添加以下内容:

Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path|
  Rails.application.config.assets.paths << path
end
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下内容验证rails控制台中的资产路径:

Rails.application.config.assets.paths.each do |p|
  puts p
end
Run Code Online (Sandbox Code Playgroud)