Тестирование jquery в Rails 6

Я новичок в программировании и тестировании, чтобы увидеть, работает ли jquery с моей настройкой rails 6. Для этого у меня есть:

  1. создал новое приложение для рельсов
  2. сгенерировал эшафот
  3. вставил следующий код в представление index.html.erb только что созданного скаффолда
<script type='text/javascript'>
  $('#mydiv').show();
</script>

<div id='mydiv' style='display:none'>
   TEST
</div>

Я ожидаю, что это отобразит текст TEST. Но он, похоже, не появляется, хотя остальная часть страницы отображается... Любая помощь очень приветствуется...


person Tomas    schedule 11.10.2019    source источник
comment
Видите ли вы какие-либо ошибки в своем разработчике console, если да, можете ли вы добавить их к своему вопросу?   -  person    schedule 12.10.2019
comment
В командной строке Rails нет ошибок. Я не уверен, что это то, что вы имеете в виду...? В консоли в инструментах разработчика в Chrome также ничего нет - на всякий случай, если я неправильно понял ваш вопрос...   -  person Tomas    schedule 12.10.2019
comment
Вы правильно поняли мой вопрос. Итак, на странице просмотра индекса скаффолда --> Щелкните правой кнопкой мыши где-нибудь на странице --> Нажмите View Page Source --> тогда вы увидите там тег <script>?   -  person    schedule 12.10.2019
comment
Да, я вижу тег ‹script›   -  person Tomas    schedule 12.10.2019
comment
Вы действительно добавили jquery в свой проект? на рельсы по умолчанию не идет, надо добавить, если да, то покажи как ты это сделал   -  person arieljuod    schedule 12.10.2019
comment
Думаю, да. Я использую рельсы 6, и я добавил пряжу jquery. Раньше я следовал этим инструкциям, но это тоже не сработало — botreetechnologies.com/blog/   -  person Tomas    schedule 12.10.2019
comment
@Tomas Можете ли вы проверить, добавив тег Jquery CDN <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> над вашим пользовательским тегом <script>, а затем проверить, работает ли он?   -  person    schedule 13.10.2019
comment
Да, это работает! Фантастика. Спасибо... Это намекает на то, что я делаю неправильно...?   -  person Tomas    schedule 13.10.2019
comment
Хорошо, я не получил его на работу, я думаю. Я добавил этот код в environment.js - const webpack = require('webpack') environment.plugins.prepend('Provide', new webpack.ProvidePlugin({ $: 'jquery/src/jquery', jQuery: 'jquery/src/jquery' }) ) Я думаю, что это была комбинация этого и как ответ ниже того факта, что у меня был скрипт над DIV. Немного новичок в Stack Overflow, поэтому я не совсем уверен, как закрыть ветку и убедиться, что ответ ясен, поскольку это была комбинация нескольких вещей... Спасибо за помощь.   -  person Tomas    schedule 13.10.2019


Ответы (1)


Переместите скрипт под div, чтобы div загружался при выполнении скрипта:

 <div id='mydiv' style='display:none'>
   TEST
 </div>
 <script type='text/javascript'>
   $('#mydiv').show();
 </script>

Или вам нужно вызвать скрипт при загрузке страницы:

$(document).ready(function(){
  $('#mydiv').show();
});
person mrzasa    schedule 11.10.2019
comment
Спасибо, я только что попробовал оба из них, и ни один из них, похоже, не работает. вот почему мне интересно, действительно ли Jquery работает...? - person Tomas; 12.10.2019
comment
Вы добавили его в application.js и Gemfile? - person mrzasa; 12.10.2019
comment
насколько я понимаю, вам не нужно делать это в rails 6, так как он поставляется предварительно упакованным с помощью webpacker... но я могу ошибаться... Кажется, он находится в Package.json и Application.js - person Tomas; 12.10.2019