Sprockets :: CircularDependencyError в Store # index - PullRequest
18 голосов
/ 18 сентября 2011

Я следую инструкциям Agile Web Development с Rails 4-е издание, и у меня возникла проблема со звездочкой css в rails 3.1.

Код CSS:

http://media.pragprog.com/titles/rails4/code/rails31/depot_e/app/assets/stylesheets/application.css.scss

Если я изменяю код css в app / assets / stylesheets / aplication.css.scss, я ловлю следующую ошибку:

Sprockets::CircularDependencyError in Store#index

Showing /home/ubuntu/Desktop/Depot/app/views/layouts/application.html.erb where line #5 raised:

/home/ubuntu/Desktop/Depot/app/assets/stylesheets/application.css.scss has already been required
Extracted source (around line #5):

2: <html>
3: <head>
4:   <title>Pragprog Books Online Store</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tag %>
8: </head>
Rails.root: /home/ubuntu/Desktop/Depot

Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:5:in`_app_views_layouts_application_html_erb___1008723970_81658620'

Я не понимаю, почему, если я, например, изменяю значение поля или значение отступа в aplication.css.scss, я получаю эту ошибку.

Большое спасибо.

Ответы [ 4 ]

52 голосов
/ 03 октября 2011

Вы должны удалить app / assets / stylesheets / application.css.

14 голосов
/ 11 января 2012

У меня была похожая проблема:
конвейер активов не прекомпилирует sass

Круговая зависимость возникает, когда для файла манифеста требуются файлы дерева. Sass делает это в любом случае, так что это не обязательно.

Удалить

 *= require_tree .
2 голосов
/ 02 января 2012

У меня возникла такая же проблема после установки SCSS.Я исправил проблему, удалив ошибочные комментарии, которые рельсы помещают в заголовок.Вот так:

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 *= require_self
 *= require_tree .
*/

#wrapper {
    width: 980px;
    margin: 0 auto;
}

Стало так:

#wrapper {
    width: 980px;
    margin: 0 auto;
}
0 голосов
/ 14 марта 2015

Просто назовите application.css как "application.scss". Это решит вашу проблему.

...