2016-07-05 2 views
0

В настоящее время мое событие CSS находится в app/assets/stylesheets/pages/events.scss, а в режиме разработки оно выглядит нормально и активы загружаются. Но на производстве похоже, что эти страницы не загружены вообще. Я не знаю, как решить эту проблему. Я посмотрел на Rails 4: assets not loading in production, но я не знаком с config.assets.precompile += %w(*.js ^[^_]*.css *.css.erb), так как кажется, что сам путь не работает.Ресурсы Rails находятся в подкаталоге и не могут загружаться в производство

приложение/активы/таблицы стилей/application.scss:

/* 
* This is a manifest file that'll be compiled into application.css, which will include all the files 
* listed below. 
* 


*#= require bootstrap-wysihtml5 
*#= require rails_bootstrap_forms 
*#= require jquery.jcrop 
*= require custom 
*= require_self 
*/ 

@import "bootstrap-sprockets"; 
@import "bootstrap"; 
@import "scaffolds"; 

приложение/просмотров/События/index.html.erb:

<% content_for :head do %> 
    <%= stylesheet_link_tag "pages/events", :media => "all" %> 
<% end %> 

приложение/активы/таблицы стилей/страниц/события. scss

@import "globals/helpers"; 
@import "vendors/animate"; 

.events-bar { 
/* a[class*="btn"] { 
    height: 36px; 
    display: inline-block; 
}*/ 
#toggleBar { 
    margin-top: 14px; 
} 
.btn-dashboard { 
    background-color: #fdf9ff; 
    color: $eventsColour !important; 
    &:hover { 
    background-color: $eventsColour-dark !important; 
    } 
} 
} 

Сложно отлаживать, так как он отлично работает в разработке, а не в производстве. Похоже, что все файлы в подкаталоге (app/assets/stylesheet/pages/*. Scss) не работают в производстве. Любое понимание поможет, спасибо.

+0

могли бы вы поделиться своим Gemfile? – oreoluwa

ответ

1

Вам просто нужно добавлять события в свой список прекомпиляции активов, так как его не скомпилирован с application.scss формат вы хотите

config.assets.precompile += %w(pages/events.scss)

затем

bundle exec rake assets:precompile

+0

Это сработало для меня, но мне пришлось использовать 'config.assets.precompile + =% w (pages/file.scss)' для всех файлов scss в подкаталоге страниц. Есть ли лучший способ (могу ли я использовать подстановочный символ, например: * .scss)? Назначение файлов в подкаталоге состояло в том, чтобы очистить код и загружать только определенные страницы. Извините, я новичок в этой структуре ... Обычно у меня обычно есть scss-файлы по активам/таблицам стилей/и тому подобное. – teresa

+0

Вы можете создать один файл с требуемым списком структуры, например application.scss, сверху, а затем указать только один, и он будет содержать остальные. Если вы хотите все в 'pages/.', вы можете иметь один файл там, где' // = require_tree .' – Ropeney

0

В вашем application.scss, вы должны добавить:

*= require pages/events 

пробег bundle exec rake assets:precompile

Позвольте мне знать, если он исправляет ошибку, или если это не то, что сообщения об ошибках?