我有一个基本的静态网页。
class StaticPagesController < ApplicationController
def home
end
end
还有一个带有标题的home.html.erb。这在开发过程中完美无缺,但测试
test "should get home" do
get :home
assert_response :success
assert_select "title","home | #{@base}"
end
失败并出现错误
ActionView::Template::Error: ActionView::Template::Error: undefined method []' for nil:NilClass
在application.html.erb中显示错误
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
这是显示为导致错误的行。是什么导致了这个问题?
当我修改stylesheet_link_tag时,它正在工作。
*= require_tree
*= require_self
@import "bootstrap-sprockets";
@import "bootstrap";
这是我的application.css。样式表目录中还有另外两个scss文件。
发现问题并修复它。但不明白为什么会发生这种情况。必须将Bootstrap移动到同一目录中的sass文件中,并且没有错误。但为什么会这样呢?它致力于发展。
答案 0 :(得分:3)
发生此错误是因为应用正在寻找.scss扩展名。正如您所说,您的文件名是application.css
,将其重命名为application.css.scss
,它会起作用。