Rails路由url helper(例如item_url(1)
)可在视图中访问。但是我经常需要外部视图的资源URL。例如,我需要使用url从goo.gl生成缩短的URL,我还需要将url传递给Facebook以获取评论计数。
我还有自定义帮助器,它包含内置路由url助手。我也希望在lib / model中使用它们。
我知道生成_url需要请求对象。所以我可以接受在某处硬编码服务器域以生成完整的URL。
如何从lib或模型获取url / call route url helper?我也需要在lib类方法中访问它。
我读过的类似问题:
Rails: How do I use helpers in a separate class in lib,该解决方案不适用于lib类的类方法。
User helper functions in Lib classes,没有明确的答案。
答案 0 :(得分:3)
只需将其添加到顶部或您的lib / model
include Rails.application.routes.url_helpers