我想知道如何使用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
,因为有很多像这样的工厂对象,它们都是从将url_helper
转换为Rails.application.routes
的超类继承。
有什么建议吗?如果需要澄清,请告诉我。
答案 0 :(得分:1)
您必须使用引擎路由代理方法。 在您的示例中,使用以下语法调用url帮助程序:
my_engine.articles_path
要重命名代理方法帮助程序,只需编辑rails应用程序中的路径配置文件:
{{1}}
所以你现在可以调用前面的例子:
{{1}}
答案 1 :(得分:1)
假设您的引擎名称空间为EngineName
,则应为:
EngineName::Engine.routes.url_helpers.some_engine_path