页面中的NoMethodError #nome未定义的方法`环境'为nil:NilClass

Kev*_*ark 5 ruby-on-rails ruby-on-rails-4

我的相对基本的应用程序工作正常然后突然我遇到了以下错误.我试图自己解决这个问题而没有运气.我提前感谢你们,希望我能解决这个问题.

页面中的NoMethodError#home未定义的方法`环境'为nil:NilClass(在/ Users/kevindark/Site Name/app/assets/stylesheets/application.css.scss中)

异常页面表明问题是从下面的stylesheet_link_tag代码行中提取的.

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title><%= @title || "Site Name" %></title>
<%= favicon_link_tag 'favicon.ico' %>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
Run Code Online (Sandbox Code Playgroud)

添加application.css.scss

/*
* Overwritten by RailsBricks
*
*= require_self
*/
@import "framework_and_overrides";
Run Code Online (Sandbox Code Playgroud)

framework_and_overrides.css.scss在以下链接中提供.

https://gist.github.com/kdark11/9537485

con*_*rom 19

这也发生在我今天的Rails应用程序中.它让我发疯,你的问题是谷歌唯一的问题.事实证明,这是由于看似无害的"捆绑更新"(仅在添加宝石之后)将"sprockets"宝石升级为"2.12.0".

我强制sprockets使用以前的版本:

gem 'sprockets', '2.11.0'
Run Code Online (Sandbox Code Playgroud)

在Gemfile中,然后运行

bundle update
Run Code Online (Sandbox Code Playgroud)

......这解决了我.编辑:重启服务器完成,如下面的用户所述(谢谢).哇,如果我在开发期间为每个服务器重启都有一美元!:-D资源和配置的重大更改始终需要重新启动服务器.

2.12.0今天才发布,所以我猜它有一个bug或与我们正在使用的其他宝石不兼容.我不确定,我自己有点像n00b.我希望这有帮助!编辑:为了记录,我可以验证faker和sass没有参与,因为他们在破坏更新的同时安装/升级,我消除了每个.我不能代表其他宝石,但链轮绝对是这里问题的一部分.

  • 乐意效劳.我是一个很长时间的潜伏者,很高兴看到一个我无法找到答案的问题,我设法弄清楚了.实际上它促使了注册.我猜我被迫使用我的大脑时,我没有给我喂奶:) (2认同)