我之前一直在使用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。
当我做导轨c 并输入: Rails.application.config.assets.paths
它总是给我结果,好像它正在从/ assets中选择路径。
任何人都可以帮助我。 感谢。
答案 0 :(得分:1)
尝试设置:
config.assets.manifest = '/path/to/some/other/location'
答案 1 :(得分:1)
设置config.assets.prefix
只是告诉sprokets存储预编译资产的位置。默认情况下,这是public/assets
。我认为您尝试做的是更改搜索路径(sprokets查找原始资产的位置)。通常,您可以使用config.assets.paths << Rails.root.join("app", "assets", "special")
添加到搜索路径中。但@Zajn是正确的,您应该将您的原始资产放在app / assets中以符合rails资产管道约定。
答案 2 :(得分:1)
我同意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 3.1在这里提供的内容:
http://railscasts.com/episodes/265-rails-3-1-overview
它是一个测试版视频,但它会帮助你兴奋,特别是他的视频超过sass和咖啡脚本。
我知道这不是你要找的答案,看起来更符合更新的标准,但它只会让事情变得更容易。