Ruby on rails 3 什么会导致Rails 3在代码库之外出现资产预编译问题(例如:gems、ruby版本等)?

Ruby on rails 3 什么会导致Rails 3在代码库之外出现资产预编译问题(例如:gems、ruby版本等)?,ruby-on-rails-3,bundler,sprockets,Ruby On Rails 3,Bundler,Sprockets,Rails代码库之外的什么样的东西会影响资产预编译 我的同事遇到了资产预编译问题,而它对我来说运行良好。我们正在运行相同的代码。版本控制中有Gemfile和Gemfile.lock,因此它们是相同的,而application.rb对我们两人都是相同的(例如,为我们两人设置了config.assets.enabled=true) 这是两个相关的文件。下面是我们遇到的问题 app/views/layouts/application.html.erb: ... <%= stylesheet_li

Rails代码库之外的什么样的东西会影响资产预编译

我的同事遇到了资产预编译问题,而它对我来说运行良好。我们正在运行相同的代码。版本控制中有Gemfile和Gemfile.lock,因此它们是相同的,而application.rb对我们两人都是相同的(例如,为我们两人设置了
config.assets.enabled=true

这是两个相关的文件。下面是我们遇到的问题

app/views/layouts/application.html.erb:

...
<%= stylesheet_link_tag    "application", :media => "all" %>
...
注意:这些文件中有些是.css,有些是.css.less,有些是.css.scss

问题:

加载主页时,他会得到错误信息

TypeError in Static_pages#home
can't convert nil into String
  (in /path/to/app/assets/stylesheets/layout.css.scss)

Extracted source (around line #20)

20: <%= stylesheet_link_tag "application", :media => "all" %>
具体来说,
asset\u path.asset\u for(source,'css')
语句为我的同事而不是我引发了一个错误


我们还尝试卸载和重新安装rails和rvm。

哦,感觉很愚蠢。。。我们修好了
rm-rf
'ing整个目录并重新克隆它修复了它。我猜是有一个额外的文件在里面飘来飘去什么的。

他有没有尝试重新安装sass和Sprocket gems?我们只是尝试了一下,但没有修复它。
TypeError in Static_pages#home
can't convert nil into String
  (in /path/to/app/assets/stylesheets/layout.css.scss)

Extracted source (around line #20)

20: <%= stylesheet_link_tag "application", :media => "all" %>
 def stylesheet_link_tag(*sources)
   ...
   sources.collect do |source|
     if debug && asset = asset_paths.asset_for(source, 'css')
       asset.to_a.map { |dep|
         super(dep.pathname.to_s, { :href => path_to_asset(dep, :ext => 'css', :body => true, :protocol => :request, :digest => digest) }.merge!(options))
       }
     else
       super(source.to_s, { :href => path_to_asset(source, :ext => 'css', :body => body, :protocol => :request, :digest => digest) }.merge!(options))
     end
   end.join("\n").html_safe