Как Rails Magic работает с подключением правильных файлов js к правому .html.erb - PullRequest
0 голосов
/ 20 марта 2019

У меня есть .js файл с именем:

app/assets/javascripts/generics/directory/edit_person.js

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

Отображаемое erb имеет имя:

app/views/company_area/directory/edit_person.html.erb

ДонЗдесь нет каких-либо тегов сценариев, ссылающихся на edit_person.js, есть ли какое-то волшебство, которое делает Rails?

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Вы должны показать нам соответствующий код.

Приложение Rails обычно будет обслуживать JS в одном из трех обстоятельств:

  1. В вашем html указан файл JS. Это включает application.js в файле макета.
  2. Был сделан запрос JS , и вы отвечаете на этот JS. Пример: файл JS edit_person.js существует в папке представлений, соответствующей действию контроллера edit_person, и клиент выполняет запрос .js к этому действию
  3. Webpacker настроен для обработки JS вместе с конвейером ресурсов. [1]

Если ни один из них не применим к вам, вы не увидите загрузку JS на странице. Зная это, вы должны проверить свой макет, application.js и действия контроллера (ответы).

[1] Webpacker вряд ли будет обслуживать эти файлы из-за их расположения в ваших папках, но ради точности стоит отметить.

0 голосов
/ 20 марта 2019

это приложение, которое вы написали? Если нет, я бы проверил любой из файлов макета (в частности: views / layouts / application.html.erb или views / layouts / Person.html.erb, если доступно)

...