Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails赢得';t加载资产管道_Ruby On Rails_Asset Pipeline_Assets - Fatal编程技术网

Ruby on rails Rails赢得';t加载资产管道

Ruby on rails Rails赢得';t加载资产管道,ruby-on-rails,asset-pipeline,assets,Ruby On Rails,Asset Pipeline,Assets,我在开发时错误地运行了rakeassets:precompile,Rails在开发时停止加载这些资产。我只加载了application.js和application.css application.js: //= require jquery //= require jquery_ujs //= require_tree . application.css: *= require_self *= require_tree . 使用Rails 3.2.2运行rake资产:precompile在

我在开发时错误地运行了
rakeassets:precompile
,Rails在开发时停止加载这些资产。我只加载了
application.js
application.css

application.js:

//= require jquery
//= require jquery_ujs
//= require_tree .
application.css:

*= require_self
*= require_tree .

使用Rails 3.2.2运行rake资产:precompile在public/assets下生成静态资产,使Rails直接为这些资产服务。要防止这种情况,您可以:

  • 手动删除这些文件或
  • 运行
    rake资产:清理

  • 尝试从本地开发环境中删除已编译的资产:

    rm-rf公共/资产

    编辑:


    此外,确保在
    development.rb
    中设置
    config.assets.compress=false
    config.assets.debug=true
    ,并设置以下内容:


    config.assets.enabled=true

    如果清理资产目录并确保配置正确(如前面的答案所示)不起作用-是否有可能使用页面缓存

    如果页面生成时带有指向编译文件的
    src
    标记,则需要立即重新生成这些标记。

    tl;博士

  • $rake资产:清理
  • 重新启动rails服务器
    $rails服务器-e开发
  • 清除浏览器缓存,或在应用程序页面上执行
    ctrl+shift+r
  • 现在,一切都应该和运行
    rakeassets:precompile

    --末端tl;博士--

    如果上述操作不起作用,请提供详细的步骤列表:

  • 执行
    $rake assets:clean
    $rm-rf public/assets
    删除生成的资产
  • 在application.rb中,确保:
    • config.assets.enabled=true
      (启用rails的资产管线)
  • 在development.rb中,确保:
    • config.assets.compress=false
      (以避免gzip资产)
    • config.assets.debug=true
      (以避免将所有css和js文件合并到应用程序中。[cs|js])
    • config.assets.compile=true
      (或未设置-启用资产的运行时编译)
    • config.service\u static\u assets=false
      (或未设置)
  • 最后,重新启动rails服务器
    $rails服务器-e开发

  • 这应该可以解决它。

    如果它对任何人都有帮助的话-我遇到了一个问题,在开发过程中没有加载application.js/.css(在查看源代码时,我仍然可以看到清单行)

    我运行的是一个旧的rails 3.2.2应用程序,出于某种原因,我不得不进入并在清单文件(application.js和application.css)中添加空行并保存它们,然后资产开始正常工作


    我删除了空白行,它仍然有效,所以我假设可能只需要在文件上更新一个日期戳。

    它们不是用<代码> SRC < /Cord>标签生成的。它也没有使用页面缓存,我已经尝试删除所有缓存。你能发布你的
    config/application.rb
    config/environments/development.rb
    文件吗?这将使追踪您的问题变得更加容易。@macool您能看看下面的()并看到它对您有效吗?