我的app/assets/images文件夹中有一些图像(svg)。根据Rails指南,assets文件夹中的所有文件都应该自动预编译。但是,当我使用image_tag('filename')引用图像时,它显示了一个Sprockets::Rails::Helper::AssetNotPrecompiled错误Asset未声明为在生产中预编译。它告诉我手动声明要预编译的文件,但为什么必须这样做?最重要的是,当我在开发中做所有事情时,为什么它会关心生产环境? 最佳答案 如果您在开发中启动服务器后添加了图像,请重新启动服务器。然后Spro
我正在使用Rails3.2.13和RailsAssetPipeline。我想使用AssetPipeline,这样我就可以为我的Assets使用SASS、CoffeeScript和ERB,并让Pipeline自动编译它们,所以我无法在开发中关闭管道。我从来没有在开发中预编译Assets,甚至没有public/assets/目录。但是,当我对包含的文件进行更改时,例如layout.html.erb中包含(呈现)的_partial.html.erb文件>文件,而不更改文件本身(在此示例中layout.html.erb),Sprockets不会检测到更改并使缓存无效,所以我一直得到相同的陈旧文
我最近升级到Rails4,在运行我的请求规范时,我开始收到以下错误:Failure/Error:UnabletofindmatchinglinefrombacktraceSprockets::ArgumentError:Assetlogicalpathhasnoextension:europeBlockquote#/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/asset.rb:36:ininitialize'#/usr/local/rvm/gems/ruby-1.9.3-p448/gems
我正在关注RoRTutorial我被困在Listing9.15运行'bundleexecrspecspec/'后出现以下错误:1)AuthenticationauthorizationaswrongusersubmittingaPATCHrequesttotheUsers#updateactionFailure/Error:specify{expect(response).toredirect_to(root_url)}ArgumentError:Missinghosttolinkto!Pleaseprovidethe:hostparameter,setdefault_url_opti
我刚刚升级到Rails5,在尝试显示图像时遇到了一个奇怪的问题。我有Rails4的确切代码:但升级后我得到:nilisnotavalidassetsource在升级到Rails5之前,我没有遇到任何类似的问题。这里可能有什么问题?会不会是其他原因而不是Rails升级问题? 最佳答案 问题是我试图显示一张不存在的图片。添加unlessarticle.image.blank?解决了这个问题:编辑:在Rails4中,这将不会毫无错误地呈现任何内容,而在Rails5它会引发错误。所以这实际上是一个升级问题。非常感谢@BookOfGreg指出
我已经部署了这个应用程序(rails3.2.11)一百万次,我没有搞乱任何设置,但现在我受到了欢迎:为什么会突然发生这种事?我的application.rb内容包括config.assets.enabled=true-从来没有任何问题。事实上,在3000端口上本地运行它似乎没有任何问题。今天早上部署到heroku后,它似乎没有加载/assets/中的任何内容有趣的是,在将文件复制过来尝试制作一个新应用程序之后,gitcommit会生成您期望的所有内容以及我认为可能是的一长串内容相关:编辑:有趣的是,一些Assets已经加载,比如Logo和背景,但其余的如您所见返回404。
我是Rails开发的新手,这是我第一次部署到Heroku。当我执行我的应用程序时(部署后)出现错误:2011-09-18T21:05:54+00:00app[web.1]:Completed500InternalServerErrorin10ms2011-09-18T21:05:54+00:00app[web.1]:2011-09-18T21:05:54+00:00app[web.1]:ActionView::Template::Error(application.cssisn'tprecompiled):我在谷歌上搜索了一下,发现我必须预编译我的Assets,但在尝试这样做时我发现了
我了解如何将一个javascript文件添加到RailsAssets管道。只需添加//=requirefilename到application.js但是如何在一个文件夹下包含多个javscripts文件vendor/assets/javascripts/或者我必须明确列出它们? 最佳答案 //=require_tree.将需要application.js当前目录中的所有内容//=require_tree./js_library如果在app/assets/javascripts下,将需要js_library子目录中的所有内容如果您尝试
在我托管在digitalocean上的生产服务器上,如果有帮助的话,Ubuntu12.04,我有RoR4和rake10.1.1。当我部署时,我运行rakeassets:precompile,我注意到一个奇怪的问题,如果我在执行此操作时打开了一个railsconsolesession,我得到以下输出~#rakeassets:precompile~#Killed主要是很烦人,但我希望解决这个问题的原因是在雇用新开发人员时,会有部署/控制台冲突噩梦。谢谢,布莱恩 最佳答案 您的预编译进程可能被终止,因为您的内存不足。您可以通过在另一个ss
大更新:当我终于找到真正的解决方案时,我也发现了真正的问题。当我在这里写下很多无用的信息时,考虑到真正的问题,我正在对问题进行大量更新,以便其他人可以轻松找到正在发生的事情并可以看到解决方案。问题:这是因为Rails3.1的Assets管道实际上...这很简单:Assets在开发环境中被渲染了两次。进行大量调查后,我发现我的Rails3.1服务器正在渲染“app/assets”和“public/assets”文件夹中的Assets。所以,我复制了每个.js和.css文件,这破坏了我所有的javascript动画(是的......将两次相同的事件和处理程序绑定(bind)到同一个元素不是