Rails — как ссылаться на активы вне каталога приложения

Я новичок в Rails. Я установил интерфейсную структуру Zurb Foundation, как описано здесь: http://www.zurb.com/article/814/yetify-your-rails-new-foundation-gem-and-

Когда я открываю app/assets/stylesheets/application.css, я нахожу этот автоматически сгенерированный код:

/*
* This is a manifest file that'll automatically include all the stylesheets available in      this directory
* and any sub-directories. 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 foundation
*= require_tree . 
*/

Однако эта линия, на мой взгляд,

<%= stylesheet_link_tag    "application" %>

не загружает файл zurb_foundation/app/assets/stylesheets/foundation/index.css, который я создал:

couldn't find file 'foundation'
(in /Users/migu/railsapps/maneki1/app/assets/stylesheets/application.css:6)

Как я могу заставить его загрузить файл и все файлы CSS, которые я поместил в zurb_foundation/app/assets/stylesheets/foundation/? Спасибо...


person migu    schedule 03.12.2011    source источник
comment
Просто попытался следовать этим инструкциям github.com/zurb/foundation-rails/ blob/master/README.markdown и тоже не работал. Я думаю, это связано с тем, что я совершенно не знаком с Rails. Я могу перейти в этот каталог .rvm/gems/ruby-1.9.2-p290/gems/zurb-foundation-2.1.0, но он все равно не работает.   -  person migu    schedule 04.12.2011


Ответы (3)


Вам нужно будет перезапустить веб-сервер, прежде чем Rails подберет новые активы из драгоценного камня zurb-foundation. После перезапуска он должен просто работать.

Кроме того, вы можете проверить, правильно ли найдены активы zurb-foundation из консоли rails. В командной строке введите «rails c», а затем «Rails.application.config.assets.paths» (обе команды без кавычек). Вы должны увидеть что-то вроде:

=> ["/Users/MYUSER/appPath/app/assets/images", "/Users/MYUSER/appPath/app/assets/javascripts", "/Users/MYUSER/appPath/app/assets/stylesheets", "/Users/MYUSER/appPath/vendor/assets/stylesheets", "/Users/MYUSER/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.19/vendor/assets/javascripts", "/Users/MYUSER/.rvm/gems/ruby-1.9.3-p0/gems/zurb-foundation-2.1.0/vendor/assets/images", "/Users/MYUSER/.rvm/gems/ruby-1.9.3-p0/gems/zurb-foundation-2.1.0/vendor/assets/javascripts", "/Users/MYUSER/.rvm/gems/ruby-1.9.3-p0/gems/zurb-foundation-2.1.0/vendor/assets/stylesheets"] 

Обратите внимание, что вам может потребоваться дополнительная работа, чтобы развернуть активы в рабочей среде.

person Andrew Savory    schedule 05.12.2011

Вот как я решаю аналогичную проблему на основе этой темы https://github.com/zurb/foundation/issues/834 В Gemfile добавлен гем «компас-рельсы»:

group :assets do
  gem 'compass-rails'

Бегать:

bundle install

Не забудьте перезапустить веб-сервер, и произойдет волшебство.

person snaumenko    schedule 22.11.2012

Вы можете добавить эту директиву в свой файл application.css:

 *= require_directory ./foundation

Или вы можете использовать драгоценный камень foundation-rails.

person David Sulc    schedule 03.12.2011
comment
Спасибо! Я изменил на: *= require_directory ./foundation, и он говорит, что аргумент require_tree должен быть каталогом - person migu; 04.12.2011
comment
Просто чтобы уточнить: есть ли у вас основные таблицы стилей в каталоге app/assets/stylesheets/foundation? - person David Sulc; 04.12.2011
comment
Привет Дэвид, спасибо за ваш ответ. Да, они находятся в app/assets/stylesheets/foundation. - person migu; 06.02.2012