Arhn - архитектура программирования

Добавьте дополнительную папку font-end для обслуживания статических html-страниц в Rails.

Я пытаюсь отобразить несколько статических целевых страниц в своем приложении Rails. На данный момент я помещаю все статические .html страницы в папку my_app/public/website и сопоставляю маршруты, например

match '', :to => redirect('/website/index.html')

На этой статической странице есть ссылка, и при нажатии на эту ссылку пользователь будет перенаправлен на мое основное приложение rails.

Теперь мне нужно переместить папку внутри public, то есть website/* в корневой каталог, например my_app/website/.

Я изменил структуру папок, как указано выше, и изменил маршруты, как

match '', :to => redirect('website/index.html')

и я получаю эту ошибку

ERROR URI::InvalidURIError: the scheme http does not accept registry part

Это был просто пробный подход, и, честно говоря, я не уверен, что это возможно. Я предполагаю, есть ли какие-либо параметры конфигурации, которые позволили бы мне сделать любой каталог корневого уровня статическими активами сервера.

Большое спасибо

Любые предложения будут оценены.


  • Если у вас есть веб-сервер, такой как nginx, обслуживающий ваше приложение rails, вы можете настроить nginx для сервера всего статического контента, а также сделать некоторые перенаправления. Важно ли, чтобы ваше приложение Rails обрабатывало перенаправления и доставку контента? 13.08.2016

Ответы:


1

Вам необходимо определить папку, которая будет использоваться как общедоступная в файле config/application.rb следующим образом.

paths['public'] = 'website'

И тогда вы можете определить свои маршруты как

get '', :to => redirect('index.html')

Кроме того, вы можете поместить все это в папку frontend, таким образом будет меньше шансов на конфликт имен, если у вас есть несколько статических страниц.

# config/application.rb
paths['public'] = 'frontend'

а также

# config/routes.rb
get '', :to => redirect('website/index.html')

Надеюсь, поможет.

Справочник

14.08.2016

2

Переопределение существующей общей папки не является хорошей идеей. Вы должны определить другой путь, например paths['my_website'] = 'website' в config/application.rb

Затем вы можете использовать этот путь в своих маршрутах, например

get '/my_website', :to => redirect('my_website/index.html')
19.04.2018
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..