Проверьте все пакеты, которые вы установили для php, используя:
yum list installed | grep remi
Установите все соответствующие пакеты php, особенно php-devel на вашем компьютере.
В ваших /app/views/layouts/application.html.erb строках 5 и 6 измените первый параметр с application
на default
.
Я встретил ту же проблему, тоже для моя ситуация, я не знаю почему, но это происходит только в Windows. Параметр application
работает на веб-сервере.
(В Windows 8)
Его проблема с камнем turbolinks, поэтому его создание ошибки
Итак, в app \ views \ layouts \ application.html.erb измените это
<%= stylesheet_link_tag 'application.css', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application.js', 'data-turbolinks-track': 'reload' %>
из
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
и раскомментируйте строку № 15 в app \ assets \ javascripts \ application.js
require turbolinks
и скопируйте ее в app \ assets \ stylesheets \ application.css в конце файла
Из этого будут запущены ваши css и js
мы должны только изменить строку 6 от application
до default
в /app/views/layouts/application.html.erb. изменение строки 5 приведет к тому, что таблицы стилей не будут загружены.
У меня тоже была эта проблема. Я отправился в Sublime в мою папку проекта. Затем щелкнул папки приложений, просмотрел папку, макет, щелкнул application.html.erb и изменил строки 5 и 6 «приложение» на «по умолчанию». Отлично. Спасибо, что опубликовали вашу проблему и поблагодарили тех, кто ответил!
Я просто хотел добавить, что я вошел в Sublime. Я просто учился, и я не понимал, как получить доступ к файлу .erb. Просто хотел помочь другим.
Если вы работаете в WIndows, кофе-скрипт-источник 1.9.0 не работает в Windows.
Измените его на предыдущую версию, добавив эту строку в свой Gemfile:
gem 'coffee-script-source', '1.8.0'
И затем переустановите комплект, настраивающий зависимости для новой версии Gem с помощью:
bundle update coffee-script-source
Я пробовал все вышеперечисленные решения, и только один, который работал правильно, - установить node.js, добавить каталог в переменную окружения «путь» в окнах (найти в Advanced System Settings, Envirnment Variables, path) и затем перезагрузите компьютер и сервер. Я думаю, что более поздние версии источника кофе-скрипта должны зависеть от node.js вместе с другими драгоценными камнями. У меня была идентичная ошибка без использования источника кофе-скрипта.
Изменение «приложения» на «по умолчанию» является ужасным решением, потому что оно просто удаляет все стили CSS-приложения. Я вообще не рекомендую.
Просто установите NodeJS на свой локальный компьютер (убедитесь, что соответствующая запись добавлена в PATH) и добавьте
gem 'execjs'
в Gemfile .
Я на Rails 5.1.6. Я была такая же проблема. Как было рекомендовано выше, я деградировал драгоценный камень с кофе-сценарием, который решил проблему.
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2' # <-- This existed already
gem 'coffee-script-source', '1.8.0' # <-- Adding this line solved the problem
Примечание: я не изменял файл application.html.rb
Вам нужно прочитать инструкцию на странице рельсов. Вам необходимо использовать ExecJS gem и некоторую среду выполнения JS.
Более практично: 1. Установить некоторую Juntime Runtime, например node.js
2.-get ExecJS gem-> gem install execjs
Экспликация:
На странице рельсов:
«Компиляция сжатия JavaScriptScript и JavaScript требует, чтобы в вашей системе было время выполнения JavaScript, в отсутствие во время выполнения вы увидите ошибку execjs во время компиляции актива. Обычно Mac OS X и Windows имеют установленную среду JavaScript. Rails добавляет драгоценный камень therubyracer в созданный Gemfile в комментариях для новых приложений, и вы можете раскомментировать его, если вам это нужно. therubyrhino является рекомендуемым временем выполнения для пользователей JRuby и по умолчанию добавляется в Gemfile в приложениях, созданных в JRuby. Вы можете исследовать все поддерживаемые среды выполнения в ExecJS. "
Из hte gitHub из ExecJS:
«ExecJS позволяет запускать код JavaScript из Ruby. Он автоматически выбирает лучшее время исполнения для оценки вашей программы JavaScript, затем r выдает результат для вас как объекта Ruby.
ExecJS поддерживает эти промежутки времени:
therubyracer - Google V8 embedded within Ruby
therubyrhino - Mozilla Rhino embedded within JRuby
Duktape.rb - Duktape JavaScript interpreter
Node.js
Apple JavaScriptCore - Included with Mac OS X
Microsoft Windows Script Host (JScript)
Google V8
mini_racer - Google V8 embedded within Ruby"
У меня эта проблема некоторое время, и я прошел через все ответы в этом потоке и нашел, что все они не увенчались успехом, я решил добавить свое решение в надежде, что он поможет будущим пользователям Rails.
Я сделал все в этом потоке - изменение application
до default
позволяет ему проходить без ошибок, но затем, как только вы на самом деле пытаетесь использовать какой-либо JavaScript, отображается ошибка относительно не имея возможность найти default.js
. Я установил NodeJS и поместил его в папку Ruby / bin. Это ничего не сделало, поэтому я удалил его.
Вы действительно можете временно обойти эту проблему с «отключением application
с default
» решением, но это очень короткий срок. Это решение может работать для вас, если у вас нет намерения стилизовать или добавить JavaScript в приложение через конвейер Rails. Я не тестировал это сам, но я предполагаю, что в него могут работать JavaScript и таблицы стилей в файле заголовка application.html. Но тогда вы теряете магию Rails.
У меня была эта проблема на платформах Windows 8, Windows 10 и Ubuntu.
Единственное, что решает его, для меня и по-прежнему делает JavaScript и таблицы стилей, - это сначала изменить application
на application.css
для таблиц стилей (даже если вы используете Sass / SCSS, потому что он все еще компилируется в css) и application.js
для ссылки JavaScript. Как только это будет сделано, зайдите в ваш файл /assets/javascripts/application.js
и удалите //
перед //= require turbolinks
.
И теперь ваше приложение должно работать нормально.
Это, вероятно, более глубокая проблема с turbolinks, но это быстрое обходное решение, которое еще не подвело меня.
Я просто изменил «application
» на «default
» в строках 5 и 6 и разрешил. /app/views/layouts/application.html.erb
.
FROM:
<%= stylesheet_link_tag '**application**', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag '**application**', 'data-turbolinks-track' => true %>
TO:
<%= stylesheet_link_tag '**default**', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag '**default**', 'data-turbolinks-track' => true %>
В Windows 10 версии 1511 добавлен gem 'coffee-script-source', '1.8.0' в мой gemfile, а затем ruby bin \ bundle update coffee-script-source из каталога проекта. NB: предыдущая версия сценария с кофе-скриптом, которая была заменена, была 1.10.0
В Windows 10
Просто установите node.js и убедитесь, что исполняемый файл узла находится в переменной пути.
Наконец-то он начал работать с облегчением. Хотя я не совсем уверен, что заставило его работать. Пробовал все следующее. 1) Установил node.js, добавил coffescript npm к нему и перезапустил. 2) Добавлен gem для exec.js и изменен runtime.rb, чтобы он не мог использовать файл сценария Windows по умолчанию. См. Эту ссылку о том, как это сделать: [ https://github.com/sstephenson/execjs/issues/81] [1] 3) Чтобы быть в безопасности, также добавлен рубиновый драгоценный камень gem 'therubyracer ', platform:: ruby
В итоге добавлены два сценария, nodejs и rubyracer и добавлены execjs, так что он выбирает лучший скриптовый движок, но не может выбрать механизм обработки скриптов.
Полагаю, что только установка nodejs могла бы работать после добавления execjs. Однако я не перезапустил (установка post nodejs) и попробовал все другие вещи.
в окне сценария кофе-скрипта Windows = = 1.9.0 не работает должным образом. просто добавьте Gemfile
gem 'coffee-script-source', '1.8.0'
и запустите
bundle update coffee-script-source
coffee-script source
& gt; =1.9.0
не работают должным образом под Windows. Вы можете сделать это:gem 'coffee-script-source', '1.8.0'
, чтобы принудительно1.8.0
, а затем выдатьbundle update coffee-script-source
– Michael Petch 17 March 2015 в 01:07