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

Включить движок alchemy_cms в существующее приложение rails - ошибка маршрутизации

Я пытаюсь использовать alchemy-cms в существующем приложении. У меня есть макет приложения, включающий строку меню, которая связана с несколькими контроллерами на моей странице.

Я установил alchemy-cms в качестве движка, который отлично работает.

При рендеринге страницы, созданной с помощью Alchemy, в моем макете приложения я получаю сообщение об ошибке маршрутизации, потому что другие мои контроллеры недоступны в движке Alchemy и его page_controller, который рендерит сайт (по крайней мере, это кажется проблемой).

Я хочу, чтобы некоторые страницы создавались/отрисовывались движком Alchemy, а некоторые страницы создавались другими контроллерами. Разве это не возможно?

Или, в более общем плане: возможен ли доступ к маршрутам из основного приложения внутри смонтированного движка?


Ответы:


1

Я хочу, чтобы некоторые страницы создавались/отрисовывались движком Alchemy, а некоторые страницы создавались другими контроллерами. Разве это не возможно?

It is.

Вы должны смонтировать Alchemy в последней точке вашего файла маршрутов. (После ваших пользовательских маршрутов, потому что Alchemy поставляется с универсальным маршрутом)

Это означает, что если один из ваших пользовательских маршрутов совпадает, он будет использован. Маршруты Алхимии будут использоваться, если ранее ничего не совпадало.

# routes.rb
MyApp::Application.routes.draw do
  ... all your custom routes ...
  mount Alchemy::Engine => '/'
end

Или, в более общем плане: возможен ли доступ к маршрутам из основного приложения внутри смонтированного движка?

Я думаю, что ваш вопрос не в том, как получить доступ к основным маршрутам приложений из движка Alchemy, потому что вы работаете в своем основном приложении, а не в Alchemy — Alchemy просто является жемчужиной.

Вы всегда можете получить доступ к объекту маршрута основного приложения следующим образом:

main_app.routes

Или помощники URL:

main_app.new_photo_path

Вы можете получить доступ к маршрутам двигателей (в данном случае Alchemy) с помощью этого помощника:

alchemy.routes
20.03.2014
  • Спасибо, да, это информация, которая мне нужна. но да, как получить доступ к основным маршрутам приложений из движка Alchemy, потому что рендеринг моего макета приложения в редакторе страниц вызвал эту ошибку. но с main_app.url_for я создал помощника, чтобы избежать этого... 21.03.2014
  • Новые материалы

    Что такое структура данных?
    Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

    мои январские чтения по программированию
    Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

    Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
    Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

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

    Введение в машинное обучение для обнаружения аномалий (часть 1)
    Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

    Начало работы с Pulumi в Digital Ocean
    Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..

    #Day68 из #100days_of_coding
    Вчера был мой 68-й день кодинга. я решил один вопрос Проблема: Разбить двоичную строку на подстроки с равным количеством нулей и единиц Дана двоичная строка str длины N . Задача состоит..