gpt4 book ai didi

ruby-on-rails - 从 Rails.application.routes.url_helpers 访问引擎路由

转载 作者:行者123 更新时间:2023-12-04 06:18:28 25 4
gpt4 key购买 nike

我想知道如何使用 Rails.application.routes.url_helpers 访问引擎路由.

我有一个工厂对象,它创建一个包含动态生成的 url 的字符串。目前,我可以使用 Rails.application.routes.url_helpers.(INSERT PATH NAME) 生成网址。 .

但是,它只能访问主应用程序中的路由。我无法访问安装在主应用程序上的引擎的路线。

我尝试过的东西

  • 我试过使用 Rails.application.routes.engine_name哪里engine_name是引擎安装在主应用程序下的名称。
  • 我试过使用 MyEngine::Engine.routes.url_helpers访问引擎中的路由。它有效,但我想使用 Rails.application.routes.url_helpers因为像这样的工厂对象有很多,而且都是继承自delgate的父类(super class)url_helperRails.application.routes .

  • 有什么建议?如果需要澄清,请告诉我。

    最佳答案

    您必须使用引擎路由代理方法。
    在您的示例中,使用以下语法作为示例调用 url 助手:

    my_engine_engine.articles_path

    要重命名代理方法助手,只需编辑 rails 应用程序中的路由配置文件:
    mount MyEngine::Engine => '/app', :as => 'my_engine'

    所以你现在可以调用前面的例子:
    my_engine.articles_path

    关于ruby-on-rails - 从 Rails.application.routes.url_helpers 访问引擎路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30113070/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com