Tag: 链轮

Rails资产管道和摘要值

有谁知道资产摘要值究竟是如何计算的? 如果我有两个JS文件,其中包含各种其他包含的JS脚本,那么如果没有更改内部脚本,那么每个文件是否会保持相同的摘要哈希值? 或者是每次资产:运行预编译操作时计算的新摘要值?

Rails4链轮; 资产逻辑路径没有扩展名

我最近升级到Rails 4,在运行我的请求规范时,我开始收到以下错误: 失败/错误:无法从回溯中找到匹配的行Sprockets :: ArgumentError:资产逻辑路径没有扩展名:europe Blockquote# initialize’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/base.rb:380:in new’# initialize’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/base.rb:380:in -2.10.1 / lib / sprockets / base.rb:380:在build_asset’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/index.rb:94:in / usr / local / rvm / gems / ruby​​-1.9.3-p448 / gems / swsockets-2.10.1 / lib / sprockets / index中build_asset’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/index.rb:94:in build_asset build_asset’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/index.rb:94:in块’#/ cache_asset’ # /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sprockets-2.10.1/lib/sprockets/index.rb:93:in local / cache_asset’ # […]

可以安全删除rails tmp / cache / assets文件吗?

我似乎在例如命名的子文件夹中有一个TON sprockets%2F76920e6913c3390459175ac8e6dfd44a3 它们似乎包含二进制数据。 他们为什么,为什么有这么多,最重要的是,这些可以安全地删除? 他们永远需要scp。

资产编译崩溃在服务器环境中:“NoMethodError:未定义的方法`’为nil:NilClass”

我一直在为这一个拔头发。 我一直与资产管道关系不好,总是给我带来麻烦……今天又来了…… 当我尝试在本地编译我的资产时,一切都很好: $ RAILS_ENV=production rake assets:precompile –trace 但是当我使用Capistrano进行部署时: cd /var/www/xxx/releases/20140717164232 && ( RAILS_ENV=production bundle exec rake assets:precompile ) 它崩溃时出现以下错误: rake aborted! NoMethodError: undefined method `[]’ for nil:NilClass (in /var/www/xxx/releases/20140717164232/app/assets/stylesheets/application-sign-in.css) /var/www/xxx/shared/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/sass_functions.rb:63:in `sprockets_context’ 我真的不知道如何调试这个..本地我无法重现它,在我的服务器上错误只是没有指向我任何地方.. 我已经搜索了错误并尝试了几件事,但没有任何帮助。 有人说通过更新来消除错误..或者通过在sass-rails gem之前添加sprockets gem。 我的项目设置如下: 带有gem的常规rails 4 app,其中包含代表模板的资产。 我使用以下行来确保编译所有内容: config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif *.css *.js *.eot *.woff *.ttf *.svg) 谁知道如何解决这个问题,或者如何调试它? […]

Store#index中的Sprockets :: CircularDependencyError

我正在使用Rails第4版手动Agile Web开发,我在rails 3.1中遇到了sprocket css的问题。 代码css是: http://media.pragprog.com/titles/rails4/code/rails31/depot_e/app/assets/stylesheets/application.css.scss 如果我修改app / assets / stylesheets / aplication.css.scss的css代码,我会抓住下一个错误: Sprockets::CircularDependencyError in Store#index Showing /home/ubuntu/Desktop/Depot/app/views/layouts/application.html.erb where line #5 raised: /home/ubuntu/Desktop/Depot/app/assets/stylesheets/application.css.scss has already been required Extracted source (around line #5): 2: 3: 4: Pragprog Books Online Store 5: 6: 7: 8: Rails.root: /home/ubuntu/Desktop/Depot Application Trace | Framework Trace | Full Trace app/views/layouts/application.html.erb:5:in`_app_views_layouts_application_html_erb___1008723970_81658620′ 我不明白为什么如果我修改aplication.css.scss中的边距值或填充值,例如我得到此错误。 […]

在开发中禁用Sprockets资产缓存

我正在使用Rails 3.2.13和Rails Asset Pipeline。 我想使用资产管道,所以我可以使用SASS和CoffeeScript和ERB作为我的资产,并让Pipeline自动编译它们,所以我不能在开发中关闭管道。 我不是在开发中预编译资产,甚至没有public/assets/目录。 但是,当我对包含的文件进行更改时,例如对_partial.html.erb文件中包含(呈现)的_partial.html.erb文件进行更改,而不更改包含本身的文件(在此示例layout.html.erb ),Sprockets没有检测到更改并使缓存无效,所以我不断获得相同的陈旧文件。 当我在积极开发中执行此操作时,我想禁用任何资产缓存,以便我可以对每个请求进行更改,但我无法弄清楚如何执行此操作。 我在development.rb设置了以下所有内容development.rb : config.action_controller.perform_caching = false config.action_dispatch.rack_cache = nil config.middleware.delete Rack::Cache config.assets.debug = true config.assets.compress = false config.cache_classes = false 尽管如此,即使这样,文件也会显示在tmp/cache/assets/和tmp/cache/sass/并且在将来的请求中无法进行更改。 现在我每次想要看到更改时都必须手动删除这些目录。 不幸的是,资产管道RoR指南的How Caching Works部分的全部内容是: Sprockets使用默认的Rails缓存存储来缓存开发和生产中的资产。 TODO:添加有关更改默认商店的更多信息。 那么,我如何让Sprockets按需编译资产但不缓存结果呢?