Nano Hash - криптовалюты, майнинг, программирование

Запуск приложения Grails через Intelli-J с корневым набором localhost: 8080/ вместо localhost: 8080/app или изменение createLink?

Есть ли способ запустить приложение через Intelli-J, чтобы он сделал localhost:8080/ корнем приложения? Проблема, с которой я сталкиваюсь, заключается в том, что URL-адреса AJAX, которые работают локально, не работают в производстве, а createLink(action:"ajaxUpdate"), похоже, создает ссылки на /app/ajaxUpdate, который работает локально, но не в производстве.

Есть ли способ исправить createLink для работы в обоих местах? Я подумал, что, возможно, я мог бы просто использовать UrlMappings, чтобы сделать все вызовы ajax красивыми и просто ссылаться на /ajaxUpdate, но это не работает из-за того, как приложение Grails развернуто в Intelli-J.

Как я могу это исправить?


Ответы:


1

Что касается вашей проблемы, в grails-app/conf/Config.groovy вы можете указать URL-адрес сервера, например:

environments {
    production {

        grails.serverURL = "http://localhost/"  // Specify the "root" of your link
        ....
    }

    development {
        grails.serverURL = "http://localhost:8080/${appName}"
        ...
    }
    ...
}

Тогда метод createLink должен подойти. Насколько я знаю, речь идет о конфигурации Grails, а не о IntelliJ.

РЕДАКТИРОВАТЬ: кажется, я пропустил некоторую информацию: чтобы createLink начинался с «http://localhost/», необходимо добавить еще одну строку в Config.groovy:

grails.app.context = "/"
14.02.2011
  • Я должен был проверить это в первую очередь. Бьюсь об заклад, я даже настроил это для производства v_v. 14.02.2011
  • @Stefan: у меня была такая же проблема раньше. Надеюсь, это поможет 15.02.2011
  • Это не работает. 'createLink' по-прежнему генерирует /app/main/whatever, когда ему нужно генерировать /main/whatever. 15.02.2011
  • @Stefan: как ты это изменил? Вы пробовали очищать Grails? 15.02.2011
  • Да, у меня есть. У меня есть одно сопоставление URL: "/"(controller:"main"). Даже если я укажу grails.serverUrl = localhost:8080 в среде разработки/тестирования, приложение по-прежнему будет доступно на: 8080/приложение, а не :8080. Из-за этого URL-адреса, которые работают в разработке, не работают в производстве. 15.02.2011
  • @Stefan: кажется, я упустил некоторые детали: добавьте это в свой Config.groovy: grails.app.context = / . Я проверил это в разработке, все в порядке. 15.02.2011
  • Вот чего мне не хватало. Вам также может быть интересно ответить на вопрос stackoverflow.com/questions/4999846/ :P 15.02.2011
  • @Stefan: спасибо, но, похоже, я немного опоздал. Это идеальный вопрос и ответ. 15.02.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..