Хобрук: Ваш путь к мастерству в программировании

Rails Redirect Route Bad Host Component

Итак, я пытаюсь сделать перенаправление в своем файле route.rb. Я получаю сообщение об ошибке, когда отказываюсь от своего домена.

match "/partners/" => redirect("/partners.html")

Переход к /partners/ дает эту страницу с ошибкой:

URI::InvalidComponentError

bad component(expected host component): frontend_rails.dev

Однако это работает, если я помещаю наш полный домен в перенаправление.

match "/partners/" => redirect("http://example.com/partners.html")

Но для моего сервера разработки мне не нравятся ссылки на наш рабочий сервер. Согласно документу rails, это должно быть добавлено автоматически:

Во всех этих случаях, если вы не укажете ведущий хост (http://www.example.com), Rails возьмет эти данные из текущего запроса.

Любые идеи, почему мне не нравятся мои относительные перенаправления? Спасибо!

24.01.2013

  • Попробуйте пропустить несколько символов: последний / совпадения и .html расширение цели: match "/partners" => redirect("/partners"). Он должен соответствовать примеру документации API Rails. Сюда. 25.01.2013

Ответы:


1

Почти год спустя, и я, наконец, понял, в чем проблема. На самом деле это БЫЛ неверный URI. Репозиторий на GitHub назывался frontend_rails. Я использовал сервер Pow, который дает вам хост на основе имени вашей папки (которое, когда вы извлекаете проект, по умолчанию использует имя репозитория GitHub), поэтому http://frontend_rails.dev.

Однако технически символы подчеркивания не допускаются в URI. Это сбило с толку жемчужину URI. Я связал свой проект frontend_rails с frontend-rails, и теперь он работает. Вуаля!

01.10.2013
  • эврика! мне потребовался час, чтобы понять это. Спасибо за публикацию решения. 25.02.2014
  • Новые материалы

    Решения DBA Metrix
    DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

    Начало работы с Блум
    Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

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