Я получаю странную jQuery ReferenceError в моем приложении Ruby on Rails 4.2 с использованием gem jquery-rails
Недавно я реализовал следующий скрипт jQuery в моих приложениях на Ruby on Rails. Все они запускают jquery-rails 4.0.4.
<script type="text/javascript">
$(document).ready(function() {
twitterCheck = setInterval(function() {
if($('iframe[id^="twitter-widget-"]').length) {
$('iframe[id^="twitter-widget-"]').each(function () {
$(this).contents().find(".timeline").attr("style","max-width:100% !important;");
$(this).attr("style","max-width:100% !important; width: 100% !important;");
});
clearInterval(twitterCheck);
}
}, 1000);
});
</script>
Я получил следующую ошибку, когда я смотрю на исходный код страницы в первой строке $(окно):
[Error] ReferenceError: Can’t find variable: $
global code (mywebsite.com, line 32)
Я думал, что жемчужина jquery-rails должна позаботиться об этом. Я исправил ошибку, добавив следующую строку.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
Я решил проверить документацию для jquery-rails здесь. Он сказал, что если я хочу использовать jQuery2, чтобы изменить инструкцию require на jquery2. Я сделал это, и я все еще получаю ошибку.
Я хотел бы использовать гем jquery-rails, так как он обновлен для последних версий jQuery и jQuery2 без необходимости добавления скрипта jquery в application.html.erb
,
Обновлено: 24 июля 2015 г., 9:30 по Гринвичу
Вот мои заявления application.js для jquery-rails:
//= require jquery2
//= require jquery_ujs
Я попробовал еще раз, перезагрузил сервер и снова развернул приложение. Я все еще получаю ReferenceError.
1 ответ
Предполагая, что вы следовали инструкциям из документации, требуя jquery в application.js, как это,
//= require jquery2
//= require jquery_ujs
Я бы попробовал перезагрузить ваш сервер, если вы еще этого не сделали.
ОБНОВИТЬ
В производственном режиме убедитесь, что вы предварительно скомпилировали свои активы.
RAILS_ENV=production bin/rake assets:precompile