0

我正在尝试在现有应用程序中使用 alchemy-cms。我有一个应用程序布局,包括一个链接到我页面中的多个控制器的菜单栏。

我已经安装了 alchemy-cms 作为引擎,效果很好。

在我的应用程序布局中渲染使用 Alchemy 创建的页面时,出现路由错误,因为我的其他控制器在 Alchemy 引擎及其渲染站点的 page_controller 中不可用(至少这似乎是个问题)。

我想做的是让 Alchemy 引擎创建/渲染一些页面,而一些页面由其他控制器创建。这不可能吗?

或者,更一般地说:是否可以从已安装引擎内的主应用程序访问路由?

4

1 回答 1

3

我想做的是让 Alchemy 引擎创建/渲染一些页面,而一些页面由其他控制器创建。这不可能吗?

这是。

您应该将 Alchemy 挂载到您的路线文件的最新位置。(在您的自定义路线之后,因为 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
于 2014-03-20T22:19:21.213 回答