Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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
Rails 3.1/Active Admin/Heroku首次加载时出错-Sass::SyntaxError_Heroku_Ruby On Rails 3.1_Activeadmin - Fatal编程技术网

Rails 3.1/Active Admin/Heroku首次加载时出错-Sass::SyntaxError

Rails 3.1/Active Admin/Heroku首次加载时出错-Sass::SyntaxError,heroku,ruby-on-rails-3.1,activeadmin,Heroku,Ruby On Rails 3.1,Activeadmin,当在一段时间内没有任何活动的情况下点击应用程序时,会抛出以下错误: Sass::SyntaxError (File to import not found or unreadable: active_admin/mixins. 如果我刷新页面,它将完全加载,没有任何错误 这是Heroku问题还是真正的应用程序错误?有人知道任何解决方案吗?我猜您有一个Sass语法错误,资产管道在编译期间正在处理这个错误。之所以只有在不活动后才会发生这种情况,是因为Heroku使应用程序处于空闲状态,需要重新启动

当在一段时间内没有任何活动的情况下点击应用程序时,会抛出以下错误:

Sass::SyntaxError (File to import not found or unreadable: active_admin/mixins.
如果我刷新页面,它将完全加载,没有任何错误


这是Heroku问题还是真正的应用程序错误?有人知道任何解决方案吗?

我猜您有一个Sass语法错误,资产管道在编译期间正在处理这个错误。之所以只有在不活动后才会发生这种情况,是因为Heroku使应用程序处于空闲状态,需要重新启动以提供请求,因此资产管道会再次“唤醒”。

您需要从组集中删除gem'sass rails',“~>3.1.0”

在config/initializers中添加一个sass_heroku.rb,它应该可以做到这一点

heroku = !!ENV['HEROKU_TYPE']
css_dir = heroku ? 'tmp' : 'public'
location = Rails.root + 'app/styles'

unless Sass::Plugin.template_location_array.any? { |pair| pair.first.to_s == location.to_s }
    Sass::Plugin.add_template_location(location, Rails.root + css_dir + 'stylesheets')
end

if heroku
  Sass::Plugin.template_location_array.each do |template_location, css_location|
    css_location.sub!(%r{/public/stylesheets$}, "/#{css_dir}/stylesheets")
  end
  Rails.configuration.middleware.insert_after 'Sass::Plugin::Rack', 'Rack::Static', :urls => ['/stylesheets'], :root => "#{Rails.root}/tmp"
end

我尝试了斯蒂芬·保罗的解决方案,尽管我不够聪明,无法理解它——但没有帮助

对我来说,解决问题的方法是提前编译

我只是想澄清一下,我只是在尝试在Heroku上使用activeadmin时才看到这个错误——在开发中效果很好


解决方案是运行rakeassets:precompile,并确保git将public/assets目录提交给heroku,而heroku则不会对资产本身进行预编译,因此将跳过错误。

我尝试了一些没有用的方法。我尝试在本地和Heroku上预编译

当我访问我的Heroku网站时,我得到

ActionView::Template::Error (File to import not found or unreadable: active_admin/mixins.
2012-08-01T22:00:22+00:00 app[web.2]: Load paths:
2012-08-01T22:00:22+00:00 app[web.2]:   /app
2012-08-01T22:00:22+00:00 app[web.2]:   /app/vendor/bundle/ruby/1.9.1/gems/activeadmin-0.4.4/app/assets/stylesheets
2012-08-01T22:00:22+00:00 app[web.2]:   (in /app/app/assets/stylesheets/active_admin.css.scss)):
2012-08-01T22:00:22+00:00 app[web.2]:     6:   <title><%= [@page_title, active_admin_application.site_title].compact.join(" | ") %></title>
2012-08-01T22:00:22+00:00 app[web.2]:     7: 
2012-08-01T22:00:22+00:00 app[web.2]:     8:   <% ActiveAdmin.application.stylesheets.each do |style| %>
2012-08-01T22:00:22+00:00 app[web.2]:     9:     <%= stylesheet_link_tag style.path, style.options %>
2012-08-01T22:00:22+00:00 app[web.2]:     10:   <% end %>
2012-08-01T22:00:22+00:00 app[web.2]:     11:   <% ActiveAdmin.application.javascripts.each do |path| %>
2012-08-01T22:00:22+00:00 app[web.2]:     12:     <%= javascript_include_tag path %>
2012-08-01T22:00:22+00:00 app[web.2]:   app/assets/stylesheets/active_admin.css.scss:2
ActionView::Template::Error(要导入的文件找不到或不可读:active\u admin/mixins。
2012-08-01T22:00:22+00:00应用程序[网站2]:加载路径:
2012-08-01T22:00:22+00:00应用程序[web.2]:/app
2012-08-01T22:00:22+00:00应用程序[web.2]:/app/vendor/bundle/ruby/1.9.1/gems/activeadmin-0.4.4/app/assets/stylesheets
2012-08-01T22:00:22+00:00应用程序[web.2]:(in/app/app/assets/stylesheets/active_admin.css.scss)):
2012-08-01T22:00:22+00:00应用程序[网站2]:6:
2012-08-01T22:00:22+00:00应用程序[网站2]:7:
2012-08-01T22:00:22+00:00应用程序[网站2]:8:
2012-08-01T22:00:22+00:00应用程序[网站2]:9:
2012-08-01T22:00:22+00:00应用程序[网站2]:10:
2012-08-01T22:00:22+00:00应用程序[网站2]:11:
2012-08-01T22:00:22+00:00应用程序[网站2]:12:
2012-08-01T22:00:22+00:00应用程序[web.2]:应用程序/资产/样式表/活动管理css.scss:2

这不仅仅是关于这个gem,我猜任何将sass-rails列为依赖项的gem都会导致这个问题。将所有这些相关的宝石放入资产组应该会使事情顺利进行。我在资产组之外包含了动画sass宝石,这给了我一个错误。如何从组集中删除宝石?什么小组?如何指定资产组?您知道gem文件吗?从组中删除gem所需的一切:资产