在运行rails服务器之前,我运行了RAILS_ENV =生产rake资产:precompile –trace
我在供应商下添加了两个资产文件夹
在application.rb文件中,我插入了这行
config.assets.paths << "#{Rails.root}/vendor/themes"
并将config.serve_static_assets更改为true
+++ b/config/environments/production.rb@@ -20,7 +20,7 @@ DqaStreesfulServer::Application.configure do # config.action_dispatch.rack_cache = true # disable Rails's static asset server (Apache or Nginx will already do this).- config.serve_static_assets = false+ config.serve_static_assets = true
文件夹结构
vendor├── assets│ ├── JavaScripts│ └── stylesheets└── themes ├── ace-admin-theme │ ├── avatars │ ├── CSS │ ├── Font │ ├── images │ ├── img │ └── Js └── lenord-single-page-theme ├── CSS ├── Fonts ├── img ├── index.HTML ├── Js └── rs-assets
UPDATE
我以这种方式引用我的Js文件
welcome.HTML.haml60: %script{src: asset_path("lenord-single-page-theme/Js/custom.Js")}
UPDATE
我猜这个问题可能在production.rb中
我试图通过在production.rb中添加这一行来编译所有文件
config.assets.precompile += %w( vendor/themes/* )
我通过rails s -e production命令而不是Nginx或apache以生产模式运行服务器
UPDATE
我得到了ActionVIEw :: Template :: Error(“}”之后的无效CSS:期望的选择器或at-rule,在生产模式下为“}”
之后我做了以下更改.
在../../config/environments/production.rb中
+ config.assets.compile = true+ config.assets.precompile = [/^[-_a-zA-Z0-9]*\..*/]+ config.assets.precompile += %w( *.Js *.CSS )
我在这里展示了vendoe / theme /和public / assets之间的树视图
这合理吗?
在公共/资产下
% tree lenord-single-page-theme (git)-[feature/prettIEr_form] lenord-single-page-theme└── Js ├── application-dfabb3389cb2e71ba110a8589e5e106b.Js └── application-dfabb3389cb2e71ba110a8589e5e106b.Js.gz
在vendor / themes /下
lenord-single-page-theme├── CSS│ ├── animate.min.CSS│ ├── bootstrap.CSS│ ├── bootstrap.min.CSS│ ├── Font-awesome.min.CSS│ ├── prettyPhoto.CSS│ ├── rs-settings-ie8.CSS│ ├── rs-settings.CSS│ └── style.CSS├── Fonts│ ├── FontAwesome.otf│ ├── Fontawesome-webFont.eot│ ├── Fontawesome-webFont.svg│ ├── Fontawesome-webFont.ttf│ └── Fontawesome-webFont.woff├── img│ ├── 1.jpg│ ├── 10.jpg│ ├── 11.png│ ├── 12.jpg│ ├── 13.png│ ├── 2.jpg│ ├── 3.jpg│ ├── 4.png│ ├── 5.png│ ├── 6.png│ ├── 8.jpg│ ├── 9.jpg│ ├── aboutus.png│ ├── back-top.png│ ├── banner_1.jpg│ ├── banner_2.jpg│ ├── banner_3.jpg│ ├── blue-back.png│ ├── dummy.png│ ├── fback.png│ ├── portfolio│ │ ├── 1.jpg│ │ ├── 2.jpg│ │ ├── 3.jpg│ │ ├── 4.jpg│ │ ├── 5.jpg│ │ ├── 6.jpg│ │ ├── 7.jpg│ │ ├── 8.jpg│ │ ├── 9.jpg│ │ ├── tn1.jpg│ │ ├── tn2.jpg│ │ ├── tn3.jpg│ │ ├── tn4.jpg│ │ ├── tn5.jpg│ │ ├── tn6.jpg│ │ ├── tn7.jpg│ │ ├── tn8.jpg│ │ └── tn9.jpg│ ├── prettyPhoto│ │ ├── dark_rounded│ │ │ ├── btnNext.png│ │ │ ├── btnPrevIoUs.png│ │ │ ├── contentPattern.png│ │ │ ├── default_thumbnail.gif│ │ │ ├── loader.gif│ │ │ └── sprite.png│ │ ├── dark_square│ │ │ ├── btnNext.png│ │ │ ├── btnPrevIoUs.png│ │ │ ├── contentPattern.png│ │ │ ├── default_thumbnail.gif│ │ │ ├── loader.gif│ │ │ └── sprite.png│ │ ├── default│ │ │ ├── default_thumb.png│ │ │ ├── loader.gif│ │ │ ├── sprite.png│ │ │ ├── sprite_next.png│ │ │ ├── sprite_prev.png│ │ │ ├── sprite_x.png│ │ │ └── sprite_y.png│ │ ├── facebook│ │ │ ├── btnNext.png│ │ │ ├── btnPrevIoUs.png│ │ │ ├── contentPatternBottom.png│ │ │ ├── contentPatternleft.png│ │ │ ├── contentPatternRight.png│ │ │ ├── contentPatterntop.png│ │ │ ├── default_thumbnail.gif│ │ │ ├── loader.gif│ │ │ └── sprite.png│ │ ├── light_rounded│ │ │ ├── btnNext.png│ │ │ ├── btnPrevIoUs.png│ │ │ ├── default_thumbnail.gif│ │ │ ├── loader.gif│ │ │ └── sprite.png│ │ └── light_square│ │ ├── btnNext.png│ │ ├── btnPrevIoUs.png│ │ ├── default_thumbnail.gif│ │ ├── loader.gif│ │ └── sprite.png│ ├── product.png│ ├── service│ │ ├── 11.png│ │ ├── 12.png│ │ ├── 21.png│ │ ├── 22.png│ │ ├── 31.png│ │ ├── 32.png│ │ ├── 41.png│ │ └── 42.png│ ├── service.png│ ├── vast.jpg│ ├── viVotek_square_icon.jpg│ ├── vvtk_sd.jpg│ └── wood-back.png├── index.HTML├── Js│ ├── application.Js│ ├── bootstrap.Js│ ├── bootstrap.min.Js│ ├── custom.Js│ ├── gmaps.js│ ├── HTML5shiv.Js│ ├── jquery.arbitrary-anchor.Js│ ├── jquery.Js│ ├── jquery.knob.Js│ ├── jquery.prettyPhoto.Js│ ├── jquery.themepunch.plugins.min.Js│ ├── jquery.themepunch.revolution.min.Js│ ├── respond.min.Js│ └── waypoints.min.Js└── rs-assets ├── arrow_large_left.png ├── arrow_large_right.png ├── arrow_left.png ├── arrow_left2.png ├── arrow_right.png ├── arrow_right2.png ├── arrowleft.png ├── arrowright.png ├── arrows.psd ├── black50.png ├── Boxed_bgtile.png ├── bullet.png ├── bullet_Boxed.png ├── bullets.png ├── bullets.psd ├── bullets2.png ├── coloredbg.png ├── grain.png ├── large_left.png ├── large_right.png ├── loader.gif ├── loader2.gif ├── navigdots.png ├── navigdots_bgtile.png ├── shadow1.png ├── shadow2.png ├── shadow3.png ├── small_arrows.psd ├── small_left.png ├── small_left_Boxed.png ├── small_right.png ├── small_right_Boxed.png ├── timer.png ├── timerdot.png ├── transparent.jpg └── white50.png14 directorIEs,154 files解决方法 管道资产可以放置在三个位置之一的应用程序内:app / assets,lib / assets或vendor / assets.
您已将资产放置在供应商/资产和供应商/主题中.
预编译其他资产:
config.assets.precompile += ['vendor/themes/lenord-single-page-theme/Js/*.Js']config.assets.precompile += ['vendor/themes/lenord-single-page-theme/CSS/*.CSS']
运行rake任务:
RAILS_ENV=production bundle exec rake assets:precompile
检查公共/资产:
该文件应该预先编译
vendor/themes/lenord-single-page-theme/Js/custom.Js
要么
lenord-single-page-theme/Js/custom.Js
然后像这样调用自定义资产文件:
JavaScript_include_tag “PATH_OF_THE_ASSET”
例如:
JavaScript_include_tag “lenord-single-page-theme/Js/custom.Js”
要么
总结JavaScript_include_tag “vendor/themes/lenord-single-page-theme/Js/custom.Js”
以上是内存溢出为你收集整理的ruby-on-rails – Rails App不在具有自定义资源文件夹的生产模式下提供资产全部内容,希望文章能够帮你解决ruby-on-rails – Rails App不在具有自定义资源文件夹的生产模式下提供资产所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)