我正在研究Michael Hartl Rails教程(目前第7章)。当我尝试运行服务器时,会显示以下消息:
Sass::SyntaxError in Static_pages#home
Showing C:/rails_project/sample_app/app/views/layouts/application.html.erb where line #5 raised:
Invalid CSS after "}": expected "}", was ""
(in C:/rails_project/sample_app/app/assets/stylesheets/custom.css.scss)
Extracted source (around line #5):
2: <html>
3: <head>
4: <title><%= full_title(yield(:title)) %></title>
5: <%= stylesheet_link_tag "application", media: "all" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: <%= render 'layouts/shim' %>
Rails.root: C:/rails_project/sample_app
Application Trace | Framework Trace | Full Trace
app/assets/stylesheets/custom.css.scss:104
app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb___917874405_26658636'
application.html.erb中的代码:
<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<%= render 'layouts/shim' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container">
<%= yield %>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
</body>
</html>
我不知道问题出在哪里。错误消息似乎不足以在aplication.html.erb中存在代码。有人知道吗?
答案 0 :(得分:1)
错误发生在您的样式表中:
应用程序/资产/样式表/ custom.css.scss
您的应用正在使用Sass(http://sass-lang.com),并且上面列出的文件存在问题。修复.scss错误,错误消息将消失。不幸的是,它似乎没有在.scss文件中为您提供错误的行号。
答案 1 :(得分:1)
在执行本教程时,我遇到了相同的错误消息。
我意识到我在;
custom.css.scss
而不是:
@import "bootstrap"
需要:
@import "bootstrap";
答案 2 :(得分:0)
我猜你正在使用saas,因为你正在使用css“{}”。在saas我们不使用。你的saas将被解析并编译成css。对于解析saas遵循不同的语法。在这里,我将演示一个saas的例子
.head
width: 100%
.in.out
width: 50%
请注意以上语法。这意味着在类“head”的元素上应用宽度100%,如果在“.head”中找到类“in”和“out”的元素,则应该宽度50%。另请注意,用于缩进的空格应该相同,并且在“property:”之后给出一个空格
错误的方式
width:100%
正确的方式
width: 100%