修改application.scss后Rails报"SyntaxError: Unexpected token ,"错误求助
SyntaxError: Unexpected token , When Importing CSS in Rails 4.2.10 Hey there, let's work through this frustrating CSS import error you're hitting in your Rails 4.2.10 + Ruby 2.4.1 app! I've dealt with similar Sprockets parsing issues before, so here are actionable steps to get things back on track:
1. Double-check your import syntax and file extensions
The most common culprit here is how you're referencing your CSS file. If some_css is a pure CSS file (no SCSS variables/mixins), you must include the .css suffix in your import:
// Correct for pure CSS files @import "some_css.css";
Omitting the suffix tells Sprockets to treat the file as SCSS, which will throw syntax errors if your CSS has rules that don't play nice with SCSS parsing (like extra commas or unquoted values that SCSS misinterprets).
If your file uses SCSS syntax, rename it to some_css.scss and import it without the suffix:
// Correct for SCSS files @import "some_css";
2. Verify file placement and Sprockets paths
- For files in
app/assets/stylesheets: This directory is automatically included in Sprockets' asset path, so you don't need extra configuration—just use the import syntax above. - For files in
vendor/assets/stylesheets: Make sure your Rails app is aware of this path. Add this line toconfig/application.rbif it's missing:
Then you can import the file the same way as those inconfig.assets.paths << Rails.root.join('vendor', 'assets', 'stylesheets')app/assets.
3. Confirm Bootstrap import order
Bootstrap's SCSS defines global variables and mixins that can interfere with subsequent imports if ordered incorrectly. Always load Bootstrap first, then your custom CSS:
// Correct order @import "bootstrap-sprockets"; @import "bootstrap"; @import "some_css.css"; // Or your SCSS file
4. Clear Rails asset cache
Old cached assets can cause weird, seemingly unconnected errors. Run these commands to wipe the cache and recompile assets:
rake assets:clean rake assets:precompile RAILS_ENV=development
Then restart your Rails server to ensure fresh assets are loaded.
5. Inspect your custom CSS for hidden syntax issues
Even if you think your CSS is valid, double-check for:
- Trailing commas in property values (e.g.,
color: red,;) - Unclosed curly braces or parentheses
- Invalid selector names that SCSS might misparse
内容的提问来源于stack exchange,提问作者sebkkom

