Подтвердить что ты не робот

Rails 3.2.8 Application.js и Application.css не работают как expcted

Когда я пытаюсь включить

<%= stylesheet_link_tag    "application" %>
<%= javascript_include_tag "application" %>

Содержимое файлов application.css:

/*
* 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 generally better to create a new file per style scope.
*
*= require_self
*= require social_stream
*= require_tree .
*/

И содержимое файла application.js

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require social_stream-base
//= require social_stream-documents
//= require social_stream-events
//= require social_stream-linkser
//= require social_stream-presence
//= require social_stream-oauth2_server
//= require_tree .

мое приложение rails не включает файлы css и js, которые требуются в приведенном выше фрагменте. но когда я обновляю теги include к определенному файлу, они включены в комплект. т.е.

<%= stylesheet_link_tag    "social_stream" %>
<%= javascript_include_tag "jquery" %>

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

Буду очень благодарен вам.

4b9b3361

Ответ 1

Это должна быть проблема с версией ruby. Вы будете использовать ruby ​​ 2.0.0, попробуйте перейти на 1.9.2 или 1.9.3. Надеюсь, он сработает.

Ответ 2

Ответ Назара Хусейна помог мне. Это зависит от версии Ruby. Если вы используете v.2, попробуйте перейти на v.1.9. Это очень просто, если вы используете rvm:

Для установки v.1.9.3 используйте:

$ rvm install 1.9.3

Использовать v.1.9.3 по умолчанию:

$ rvm --default use 1.9.3

Тогда

  • перезагрузите терминал
  • установить bundler gem
  • run bundle install
  • run rake assets:clean RAILS_ENV=development
  • запустите сервер rails s

Что все.

Ответ 3

У меня также была эта проблема, но с новыми версиями Rails и Ruby.

Изучив журнал, я был отправлен javascript.js из кеша Rails, так как сервер не видел изменений в файле. Я пошел и переместил строки запроса (только один), чтобы сообщить Rails, что есть изменения в файле и перекомпилировать/использовать. Уэлм сделал это для меня!

Надеюсь, это поможет кому-то.

Еще один важный вывод - обновить драгоценный камень звездочек в Gemfile.

У меня была версия 2.2.1 и у меня были проблемы, после обновления до 2.2.2 она работала

gem 'sprockets', '2.2.2' 

Ответ 4

Используете ли вы sass или менее или что-то подобное?

У меня была эта проблема, и я обнаружил, что это связано с тем, что файл application.css содержит scss-код, который по умолчанию он не может обрабатывать.

Просто переименование файла в application.css.scss разрешило эту проблему под Rails 4.2.1.