Ruby on rails RubyonRails3.2将默认资产路径从/asset更改为其他目录
我之前一直在rails 3.0.9上工作,并尝试为同一个项目迁移到rails 3.2。 我在我的Gem文件中添加了以下内容:Ruby on rails RubyonRails3.2将默认资产路径从/asset更改为其他目录,ruby-on-rails,asset-pipeline,Ruby On Rails,Asset Pipeline,我之前一直在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
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
我在application.rb中添加了以下内容
config.assets.enabled = true
config.assets.version = '1.0'
config.assets.prefix = "/public"
我更改了前缀,因为在项目中,我的所有javascript和样式表都在公用文件夹中
但不知何故,前缀的更改不起作用。它总是选择路径作为/assets
当我做rails c时
和类型:
Rails.application.config.assets.path
它总是给我一个结果,就好像它从/assets中选择路径一样
有人能帮我吗。
谢谢。尝试设置:
config.assets.manifest = '/path/to/some/other/location'
设置
config.assets.prefix
只会告诉存储在哪里存储预编译的资产。默认情况下,这是公共/资产
。我认为您试图做的是更改搜索路径(Sprokes在其中查找您的原始资产)。一般来说,您可以使用config.assets.paths添加到搜索路径中。我同意Zajin对您问题的评论。顺应新的开端不仅能让人大吃一惊,而且在生产中运行时会让很多事情变得更容易
我强烈推荐您观看这些很棒的Railscasts.com视频:
这是为了升级到3.1,然后再升级到3.2,所以先观察它们,然后遵循它们以符合新标准。当谈到rails的新版本时,他是最好的
他还解释了rails 3.1在这里提供的许多功能:
这是一个测试版的视频,但它会让你感到兴奋,特别是他的视频,超过了萨斯和咖啡脚本
我知道这不是你想要的答案,似乎需要更多的工作来遵守新的标准,但这只会让事情在未来变得更容易。出于好奇,为什么不做相反的事情,将所有样式表和javascript移到assets文件夹中?如果要开发Rails应用程序,您应该尝试遵守Rails标准。嘿,谢谢。我目前正试图将我所有的Styleshhet和javascripts移到assets文件夹中继续。我想改变路径,这样我就不需要在目录中移动,其次我认为这是一个更简单的选择。是的,我明白你为什么要这样做,但我认为从长远来看,将你所有的东西移动到资产文件夹会更容易(更好)。祝你好运!