【问题标题】:How to mount refinerycms engine on a custom path in existing rails application如何在现有 Rails 应用程序中的自定义路径上安装refinerycms 引擎
【发布时间】:2013-02-05 13:17:47
【问题描述】:

我打算将炼油厂 cms 集成到现有的 rails 3.2 应用程序中。

我按照本指南 http://refinerycms.com/guides/with-an-existing-rails-app 设置了一个炼油厂引擎。

我不希望炼油厂在我的应用程序中生成所有页面。只有一组新的。

所以在 routes.rb 我修改了以下行:

    mount Refinery::Core::Engine, :at =>'/'

    mount Refinery::Core::Engine, :at =>'/cms'

在开发模式下(我还在测试能不能集成成功),当我运行服务器时,如果我手动输入

    localhost:3000/cms

cms 系统可用。

但是,如果我点击主页链接或炼油厂创建的任何其他页面的链接,我会收到以下错误:

    No route matches [GET] "/"

这是因为它已被炼油厂配置为使用 / 路径。

如果我手动输入 localhost:3000/cms/(页面名称),页面就会被渲染。

如果routes.rb中的入口是默认入口

    mount Refinery::Core::Engine, :at =>'/'

然后精炼厂创建的页面的链接可以正常工作,但是,在我集成精炼厂之前创建的现有页面不会呈现,因为精炼厂正在覆盖它们。

如何自定义炼油厂创建的页面链接的路径。

【问题讨论】:

    标签: ruby-on-rails-3.2 refinerycms


    【解决方案1】:

    确保您在现有路由之后安装 Refinery,这样它就不会覆盖它们,因为它们是根据创建顺序确定优先级的。

    【讨论】:

    • 感谢乌斯曼。现在已经工作了一个月,页面仍然不使用 /cms 路由。尝试挂载在/上。但有趣的是,子页面非常好地安装在 /cms 上
    • 您能否发布您的路线文件以及如何在您的视图中生成指向炼油厂页面的链接?
    • 我现在不在我的工作站。但我听从了你的建议,并将它安装在我的 routes.rb 文件的末尾。炼油厂页面链接是使用标准炼油厂功能生成的。没有自定义的方法。问题仅在于炼油厂在管理部分生成链接的方式..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2018-09-18
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    相关资源
    最近更新 更多