Как вызвать файлы JSON через jQuery в Rails?

-1

Я создаю простое приложение для создания образа в Rails, используя плагин Mapplic jQuery.

Сценарий ожидает JSON файл, который он вызывает так:

$('#floor-5').mapplic({
  source: 'floor-5.json',
  height: 1000,
  minimap: false,
  sidebar: true,
  hovertip: true,
  developer: false,
  maxscale: 3
});

У меня есть файл JSON в app/assets/json/floor-5.json.

Я думаю, что сценарий jQuery пытается использовать AJAX, который, как мне известно, проблематичен в Rails.

Файлы JS и CSS все правильно вызывается через конвейер активов, но я не уверен, как правильно обращаться к требуемому файлу JSON через конвейер активов.

Затем файл JSON загружает изображение, которое он хочет использовать через AJAX:

{
    "mapwidth":"1080",
    "mapheight": "1000",
    "levels": [
    {
        "id" : "floor-5",
        "map" : "/assets/images/floor-5.png",
        "minimap" : "/assets/images/floor-5.png"
        }
    ]
}

Как примирить эти вызовы AJAX с конвейером активов?

  • 1
    Насколько AJAX проблематичен для Rails? Трудно разобраться в этом вопросе. Вы пытаетесь сослаться на объект JavaScript в статическом файле?
  • 0
    NickM, у меня много проблем с пониманием того, как этот конкретный плагин jQuery ссылается на файлы, и это не имеет смысла для меня в конвейере ресурсов Rails. Так что мне сложнее сформулировать вопрос. JQuery находится в представлении, ссылающемся на исходный файл JSON с помощью AJAX, а файл JSON снова ссылается на файл изображения с помощью AJAX. Это незнакомая структура для меня, и я не могу полностью обдумать это. Я не могу заставить это работать так, как положено, что должно привести к загрузке изображения в DOM с некоторыми дополнительными элементами управления, наложенными поверх изображения.
Показать ещё 1 комментарий
Теги:
asset-pipeline

1 ответ

0
Лучший ответ

Возможно, у вас неправильный JSON. Если все ваши активы находятся в правильных папках в конвейере Rails, Rails не должен иметь проблем с поиском этих файлов с помощью AJAX. Однако, если у вас есть недопустимый JSON, он выдаст ту же ошибку, как если бы она не смогла загрузить файл вообще. Используйте проверку подлинности JSON и проверьте, устраняет ли это проблему: https://jsonformatter.curiousconcept.com/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню