Три js, ammo js и Ruby on Rails

#javascript #ruby-on-rails #ruby #three.js #ammo.js

#javascript #ruby-on-rails #ruby #three.js #ammo.js

Вопрос:

Я начинаю с ammo js, и я эффективно загрузил сцену из трех js с помощью ammo js. Теперь происходит то, что когда я загружаю страницу, она работает, но когда я переключаюсь на новую страницу (другой html) и возвращаюсь на страницу, на которой есть сцена, это выдает мне ошибку:

Неперехваченная ошибка типа: Ammo не является функцией

Знайте, поскольку я использую ruby on rails, я реализовал ammo.js библиотека в application.js файл.

Приведенный ниже текст является примером того, что я использую.

 <script type='text/javascript'>

 start(){
  //three js and ammo js code
 }
 $('document').ready(function(){
         
   Ammo().then(start)

 })

  

РЕДАКТИРОВАТЬ: ammo.js версия 4.0.3,
Три js версии r120
application.js имеет:

 //= require three
//= require OrbitControls
//= require THREE.MeshLine
//= require ammo
//= require physi
//= require STLExporter
  

Комментарии:

1. Предоставьте больше информации, такой как версии и код. Т.е. app/assets/application.js и application.html.erb и т.д.

2. Также укажите версию rails и метод управления активами. Используя turbolinks, jquery, webpack и т.д.?

3. Эта ошибка может быть вызвана тем, что библиотека не загружена. Проверьте журналы Rails, чтобы увидеть, что ресурс фактически обслуживается Rails, а затем загружается в браузер на вкладке «Источники» Chrome или любого инструмента отладки, который может отображать исходники.