Tag: 资产管道

CSS需要语法

我在许多RubyOnRails应用程序中多次需要CSS样式表,实际上我需要一些神秘的东西。 有什么区别: //=require mystyles 和 *=require mystyles 两者似乎都有效,那有什么区别? 这是资产管道的一部分还是SASS的一部分还是普通的CSS?

如何在Heroku上的rails应用程序上完全关闭资产编译?

我有一个rails应用程序,它运行没有资产的服务。 当我部署时,我看到: —–> Preparing app for Rails asset pipeline Running: rake assets:precompile rake aborted! could not connect to server: Connection refused Is the server running on host “127.0.0.1” and accepting TCP/IP connections on port 5432? /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `initialize’ /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `new’ /tmp/build_3pneyggcg60ks/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `connect’ … 所以我把它放到我的application.rb中: config.assets.enabled = false config.serve_static_assets = false config.assets.compile = false 但是在部署时我仍然会收到相同的消息。 如何在heroku上完全关闭资产编译/处理?

Bootstrap CSS加载bootstrap-sass,其他CSS不会加载

我正在使用Bootstrap for my Rails应用程序和bootstrap-sass v.3.1.1,它在我的application.css.scss文件中使用了以下内容: @import “bootstrap”; 没有别的。 就在今天,我尝试添加一些自己的CSS来添加一些我没有使用Bootstrap的样式。 这是我的欢迎视图/控制器,所以我把它添加到welcome.css.scss .complete-class { text-decoration: line-through; } 通过阅读Rails指南的这一部分,我的理解是你可以在清单中包含一个像welcome.css.scss这样的CSS文件,如下所示: @import “bootstrap”; /* *= require_self *= require_tree . */ 这没有成功应用我的CSS; welcome.css.scss也没有出现在head标签中。 当我试图调试这个时,我遇到了一些奇怪的事情,我觉得我也应该指出: 1.导入引导程序时出错 VIM的Syntastic插件有助于指出错误: File to import not found or unreadable: bootstrap. Load path: /home/stephen/code/blocitoff/app/assets/stylesheets 这很奇怪,因为 a)之前没有出现过这个错误,尽管我没有更改它引用的代码行(@import“bootstrap”) 和 b)bootstrap仍忠实地应用于我的页面布局,并出现在head标签的资产中。 2.卸载bootstrap-sass 我搜索了上面的错误,发现这个问题 ,这表明我卸载并重新安装bootstrap-sass。 虽然奇怪的是,即使我卸载了gem,引导设备仍保留在页面上,但这并没有奏效。 rails的版本是4.1.5 将所有css移动到application.css.scss 因为看起来我正在从application.css.scss加载引导程序,所以我在那里添加了我的CSS,但这也没有用。 在浏览器上隐身模式 最后我想如果卸载bootstrap-sass时引导程序没有消失那么可能它们被缓存在我的浏览器上了? 我认为在开发过程中没有发生这种情况,但以防我在隐身模式下启动了chrome。 […]

调试Rails资产管道的最佳实践

我正在使用Rails 3应用程序, bootstrap-sass和资产管道,我正在寻找有关如何调试资产管道问题的一些想法。 在开发中工作,并在运行时编译(即包括来自大量已编译的css文件),我的应用程序看起来正是我期望的。 但是,当我使用资产管道将资产编译成单个文件时,为了测试它在生产中的行为,我认为连接文件application.css中的validation错误导致浏览器停止正确评估css,我是看到一些显示问题。 当我在开发中查看生成的css文件并通过css3validation器传递它时,我可以看到在使用vendored css文件时发生validation错误(在大多数情况下,这些是由于供应商特定的hacks,引发validation器) – 当我通过w3cvalidation器运行它时,我生成的文件正在通过validation,我在下面的sprockets文件中列出了通过/失败结果: /* * sprocket file in application.css * *= require_self *= require vendor *= require bootstrap-include # FAILS 474 ERRORS – presumably down to css hacks *= require DT_bootstrap # FAILS TWO ERRORS – presumably down to css hacks again *= require navbar # PASSES *= require […]

Rails 3.1 Asset Pipeline – 关闭Heroku上的图像资产指纹识别?

因为我在我的应用程序中使用的jQuery插件直接引用了图像,所以我试图关闭资产指纹识别。 所以我在我的production.rb中设置了config.assets.digest = false ,但现在我的图像引用都没有。 /assets/foo.png只返回一个空白响应。 我真的不想改变jQuery插件的代码并添加erb图像助手,但我不知道还能做什么。 坦率地说,图像的资产指纹识别似乎比它的价值要麻烦得多。 有人有任何见解吗? 谢谢!

Rails忽略了缺少资产的ActionView :: Template :: Error

ActionView::Template::Error (leagues/lal11.png isn’t precompiled): 这种错误发生在我的应用程序中,当添加新联盟但相应的图像尚未预编译时。 我明白为什么会这样; 资产清单缺少相关路径,因此rails无法确定其摘要。 然而,由于简单的丢失图像而杀死整个应用程序是愚蠢的。 有没有办法捕获这个特定的例外?

Rails 3.1资产管道和缓存

我正在使用Rails 3.1的资产管道,虽然它似乎在我的本地主机上的开发环境中完美运行,但我在引擎码上遇到了很多问题。 这是我的基本问题。 当我在我的一个scss文件中包含背景图像时: a { color: #3c7f8b; font-weight: bold; padding-left: 35px; font-size: 13px; display: block; background: white url(shade.png) top right; &:hover { color: #222222; background: white url(shade2.png) top right; } &.on { color: #222222; background: white url(shade2.png) top right; } } } 我遇到了以下问题:即使我已经预编译了我的资产,浏览器也会请求/assets/shade.png而不是/assets/shade-FINGERPRINT.png这是存在的实际文件。 有人知道我可以解决这个问题,引用我的.scss文件里面的资产文件夹中的图像吗?

Capistrano部署 – 资产预编译错误

我正在与Capistrano一起部署到我的新VPS。 在第一次部署(上限部署)之后,一切正常(站点正在运行),但第二次部署在资产上失败:预编译错误。 我正在运行rails 3.2.13,ruby 2.0.0,rvm。 错误: * executing “cd — /home/rails/releases/20140116121250 && RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile” servers: [“IP”] [IP] executing command *** [err :: IP] bash: line 1: 23406 Killed RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile command finished in 84187ms *** [deploy:update_code] rolling back * executing “rm -rf /home/rails/releases/20140116121250; true” servers: [“IP”] [IP] […]

Rails 4资产管道失去供应商资产

我似乎无法弄清楚如何让链轮在vendor/assets找到vendor/assets 。 我一直在通过将我的所有资产添加到app/assets来解决问题,但它变得太杂乱了。 我已阅读文档,并尝试将以下所有行添加到application.rb文件中。 config.assets.paths << "#{Rails.root}/vendor/assets/*" config.assets.paths << "#{Rails.root}/vendor/assets/fonts" config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets" config.assets.precompile << Proc.new { |path| if path =~ /\.(eot|svg|ttf|woff)\z/ true end 它们在本地工作,但是当我将它们推送到服务器时,我的供应商资产都没有。 我正在使用capistrano进行部署,我知道升级存在一些问题。 这可能是问题的根源,但我按照文档来部署(几乎)一切正常。

Rails资产管道:如何创建自定义清单文件

我试图从application.js单独创建一个自定义清单javascript文件。 我从application.js获取代码并将其粘贴到我称为“other_manifest.js”的新文件中,并放在assets / javascrips目录中。 这是代码: // This is a manifest file that’ll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. // // It’s not advisable […]