【问题标题】:ruby on rails 3.2 changing the default assets path from /asset to someother directoryruby on rails 3.2 将默认资产路径从 /asset 更改为其他目录
【发布时间】:2012-06-13 18:52:47
【问题描述】:

我之前一直在使用 rails 3.0.9,并尝试为同一个项目迁移到 rails 3.2。 我在我的 Gem 文件中添加了以下内容:

  gem 'rails', '3.2.3'

  gem 'nokogiri'

  gem 'rack', "~>1.1"

  group :assets do

  gem 'sass-rails', "~> 3.2.3"

  gem 'coffee-rails', "~> 3.2.1"

  gem 'uglifier', '>=1.0.3'

  end

我在 applcation.rb 中添加了以下内容

config.assets.enabled = true                 
config.assets.version = '1.0'                                
config.assets.prefix = "/public"

我更改了前缀,因为在项目中我的所有 javascript 和样式表都在公共文件夹中。

但不知何故,前缀的更改不起作用。它总是选择路径作为 /assets。

当我做 rails c 并输入: Rails.application.config.assets.paths

它总是给我结果,就好像它从 /assets 中选择路径一样。

谁能帮我解决这个问题。 谢谢。

【问题讨论】:

  • 只是出于好奇,为什么不做相反的事情,将所有样式表和 javascript 移动到 assets 文件夹中呢?如果您要开发 Rails 应用程序,您应该尝试并遵守 Rails 标准。
  • 嘿,谢谢。我目前正在尝试将我所有的 styleshhet 和 javascripts 移动到 assets 文件夹以继续前进。我想改变路径,这样我就不需要在目录中移动,其次认为这是一个更简单的选择。
  • 是的,我明白你为什么要这样做,但我认为从长远来看,将所有东西移动到资产文件夹会更容易(而且更好)。祝你好运!

标签: ruby-on-rails asset-pipeline


【解决方案1】:

尝试设置:

config.assets.manifest = '/path/to/some/other/location'

【讨论】:

    【解决方案2】:

    设置 config.assets.prefix 只是告诉 sproket 在哪里存储预编译的资产。默认情况下,这是public/assets。我认为您尝试做的是更改搜索路径(sprokets 在其中查找您的原始资产)。通常,您可以使用 config.assets.paths << Rails.root.join("app", "assets", "special") 添加到搜索路径中。但是@Zajn 是正确的,您应该将原始资产放在 app/assets 中以符合 rails 资产管道约定。

    【讨论】:

      【解决方案3】:

      我同意 Zajin 在您问题的评论中的观点。顺应新的开始不仅大声疾呼,而且在生产中运行时让很多事情变得更容易。

      我强烈推荐观看这些很棒的 Railscasts.com 视频:

      http://railscasts.com/episodes/282-upgrading-to-rails-3-1

      http://railscasts.com/episodes/318-upgrading-to-rails-3-2

      是先升级到3.1再升级到3.2,所以先看再跟新标准。在了解新版本的 rails 所提供的功能方面,他是最出色的。

      他还继续解释了 Rails 3.1 提供的很多内容:

      http://railscasts.com/episodes/265-rails-3-1-overview

      这是一个测试版视频,但它会帮助你兴奋起来,尤其是他的视频,它涵盖了 sass 和咖啡脚本。

      我知道这不是您要寻找的答案,似乎需要做更多的工作来遵守新标准,但这只会让未来的事情变得更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-05
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多