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

时间:2014-03-13 21:18:09

标签: ruby-on-rails ruby-on-rails-4

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

  

页面中的NoMethodError #nome未定义方法`环境'为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 %>

添加application.css.scss

/*
* Overwritten by RailsBricks
*
*= require_self
*/
@import "framework_and_overrides";

framework_and_overrides.css.scss可在以下链接中找到。

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

5 个答案:

答案 0 :(得分:19)

今天也发生在我的Rails应用程序中。 它让我发疯,你的问题是谷歌唯一的问题。 事实证明,这是由于&#34;捆绑更新&#34;看似无害的运行造成的。 (刚刚添加宝石之后)升级了&#39;链轮&#39;宝石到&#39; 2.12.0&#39;。

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

gem 'sprockets', '2.11.0'

在Gemfile中,然后运行

bundle update

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

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

答案 1 :(得分:2)

降级为:

gem 'sprockets', '2.11.0'

......对我不起作用。

原来我需要锁定苗条:

gem 'sprockets', '2.11.0'
gem 'slim', '2.0.0'

答案 2 :(得分:1)

我在尝试让我的应用运行时遇到了这个问题。经过多次尝试和错误后,解决方案确实是用以下内容更新链轮gem:

gem 'sprockets', '2.11.0'

并正在运行

bundle update

不要忘记重新启动rails服务器,因为起初我认为解决方案不起作用。我所需要的只是重新启动服务器。

答案 3 :(得分:0)

FWIW,我将sprockets升级为2.12.3,我再也没有收到错误消息。我使用的是Rails 4.1.8。

答案 4 :(得分:0)

从sprockets 2.12.3升级到3.0.1后,我使用Rails 4.2.0时遇到此错误。我需要在我的Gemfile中添加sprockets gem,并将版本锁定在2.12.3 在我的Gemfile中:

gem 'sprockets', '2.12.3'

这清除了我的一切。