加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 从Rails.application.routes.url_helpers访问

发布时间:2020-12-17 02:07:56 所属栏目:百科 来源:网络整理
导读:我想知道如何使用Rails.application.routes.url_helpers访问引擎路由. 我有一个工厂对象,它创建一个包含动态生成的URL的字符串.目前,我可以使用Rails.application.routes.url_helpers生成URL.(INSERT PATH NAME). 但是,它只能访问主应用程序中的路由.我无法
我想知道如何使用Rails.application.routes.url_helpers访问引擎路由.

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

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

我尝试过的事情

>我尝试使用Rails.application.routes.engine_name,其中engine_name是在主应用程序上安装引擎的名称.
>我尝试使用MyEngine :: Engine.routes.url_helpers来访问引擎中的路由.它可以工作,但是我想使用Rails.application.routes.url_helpers,因为有很多像这样的工厂对象,它们都是从将url_helper分成Rails.application.routes的超类继承的.

有什么建议?如果需要澄清,请与我们联系.

解决方法

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

my_engine_engine.articles_path

要重命名代理方法助手,只需编辑rails应用程序中的路径配置文件:

mount MyEngine::Engine => '/app',:as => 'my_engine'

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

my_engine.articles_path

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读