Ruby on rails 插件中的Rails 2路由帮助程序

Ruby on rails 插件中的Rails 2路由帮助程序,ruby-on-rails,routes,helper,Ruby On Rails,Routes,Helper,我正在尝试编写一个插件,在我想要执行的任务中,我希望能够从插件中调用route helper方法。例如,如果我有map.resources:user,我希望能够从插件调用user\u path(:id=>1)。我不断得到未定义的方法用户路径错误 在Rails3中,您可以使用rails.application.routes.url\u helpers来实现这一点,但我似乎找不到Rails2的替代方案。包括在内没有帮助。有什么想法吗?你应该能够做到: app.user_path(1) 我使用的是R

我正在尝试编写一个插件,在我想要执行的任务中,我希望能够从插件中调用route helper方法。例如,如果我有
map.resources:user
,我希望能够从插件调用
user\u path(:id=>1)
。我不断得到未定义的方法用户路径错误


在Rails3中,您可以使用
rails.application.routes.url\u helpers
来实现这一点,但我似乎找不到Rails2的替代方案。包括在内没有帮助。有什么想法吗?

你应该能够做到:

app.user_path(1)

我使用的是Rails2.3.4,我可以在插件的控制器和视图中使用常规路径助手,至少在我测试的插件中是这样

我不能在插件的lib文件中使用它们,但这是因为在控制器外部无法使用帮助程序(视图在控制器内部处理,因此它们也可以使用它们)。lib文件(插件的主要部分)往往是加载到模型环境中的模块和类


你能提供更多关于你要做什么的详细信息吗?

这在控制台上运行,但在我的插件中,它说:未定义的局部变量或方法“app”,我正在尝试修复rails 2兼容的问题。你所说的问题是在lib文件中,你有什么建议吗?你在钱上是对的,问题是我试图在lib文件中使用它们,而不是controller/view/helper。我没有很快理解它,因为我使用的是lambda,并且不太理解闭包(lambda是在helper中调用的,但是它有lib文件的作用域)。谢谢你的回答。你能分享解决方案吗?因为我无法从这些评论中看出,你是如何将这个插件与Rails2.3结合使用的