rake assets:precompile 在本地编译时不起作用

Posted

技术标签:

【中文标题】rake assets:precompile 在本地编译时不起作用【英文标题】:rake assets:precompile does not work compiling locally 【发布时间】:2014-03-26 17:39:03 【问题描述】:

我刚刚在我的 QA 和生产服务器上运行了它,它运行得很完美。

rake assets:precompile

但是当我在本地运行它时,跟踪响应很好。由于我的.scss.erb 文件,我可以判断它正在访问我的数据库。 发生了一些事情,但是当我重新启动服务器并检查我的 css 文件时,实际上没有进行任何更改。

补充说明:

我的 application.rb 有 ->

config.assets.initialize_on_precompile = true

colors.scss.erb的内容

<% Color.for_header.each do |color| %>
#super_header.color-<%= color.id %>, #eheader.color-<%= color.id %> 
  background-color: #<%= color.code %>;
  background-image: none;

<% end %>

<% Color.for_highlight.each do |color| %>
.lists-list.color-<%= color.id %> li 
  &.current a 
    &:before  background: url(/images/group-select-end-left/<%= color.image %>) no-repeat !important; 
    &:after   background: url(/images/group-select-end-right/<%= color.image %>) no-repeat !important;    
  
  &.active, &.current 
    a 
      background-color: #<%= color.code %> !important;
      background-image: none !important;
    
    &:before 
      background: url(/images/group-select-end-left/<%= color.image %>) no-repeat !important;
      left: -9px;
      height: 39px;
      width: 9px;      
    
    &:after 
      background: url(/images/group-select-end-right/<%= color.image %>) no-repeat;
      right: -10px;
      width: 10px;
      height: 30px;
      top: 0;
    
  

<% end %>

【问题讨论】:

您是否在生产数据库上运行了迁移? 由于环境使用相同的database.yml 设置,我想测试数据库连接的一个明确方法是询问您浏览域时它是否有效? Sam D. - 是的,我运行了所有迁移。我的本地主机上也出现了同样的问题。 QA 是唯一有效的盒子:D // Rich Peck。 - 所以我绝对可以通过控制台连接到 prod/qa/local 中的数据库,否则该应用程序功能齐全。 能否分享rake assets:precompile --trace在生产环境中的结果。 @KirtiThorat 酷,我在上面添加了它。谢谢..这个工作的唯一环境是我的本地环境。 【参考方案1】:

由于rake 加载所有Rails 堆栈,您可能需要添加环境:

RAILS_ENV=your_env_name bundle exec rake assets:precompile

它使用capistrano在我的登台服务器(没有heroku)上工作。

【讨论】:

有趣。好吧,这贯穿了一切。我看到它克服了错误,但它实际上并没有编译我的 css。

以上是关于rake assets:precompile 在本地编译时不起作用的主要内容,如果未能解决你的问题,请参考以下文章

rake assets:precompile 试图连接到生产数据库?

Rake assets:precompile 在生产中打开控制台会话时被终止

在 bundle exec rake assets:precompile 后 OpsWorks 部署失败

Capistrano - rake assets:precompile - 应用程序已经初始化

在'rake assets:precompile'之后,Rails 4 资产未加载到 Heroku

rake assets:precompile 在本地编译时不起作用