Ruby on rails 在gem中使用url_

Ruby on rails 在gem中使用url_,ruby-on-rails,ruby-on-rails-3,routes,gem,Ruby On Rails,Ruby On Rails 3,Routes,Gem,我正在写一个包含一些视图的gem,在其中一个视图中,我需要使用link\u to方法,该方法取决于url\u for方法。默认情况下这两个模块都不可用,所以我尝试包含所需的模块 include ActionView::Helpers include ActionDispatch::Routing include Rails.application.routes.url_helpers 什么不起作用,因为Rails.application是nil,所以我无法获得路由和包含的url帮助程序。我也找

我正在写一个包含一些视图的gem,在其中一个视图中,我需要使用
link\u to
方法,该方法取决于
url\u for
方法。默认情况下这两个模块都不可用,所以我尝试包含所需的模块

include ActionView::Helpers
include ActionDispatch::Routing
include Rails.application.routes.url_helpers

什么不起作用,因为
Rails.application
nil
,所以我无法获得路由和包含的url帮助程序。我也找到了这个方法,但我不喜欢它,因为它又快又脏。我希望模块包含在初始化之后,这样我就可以访问路由。有没有办法安排这样的评估

我解决了。没有必要包括这些模块。这段代码在控制台上不起作用,因为rails环境没有完全加载到控制台上,但当我启动应用程序时,它可以正常工作。直到现在才想到这件事,。。。只是一直挂在控制台不起作用的地方

您是否尝试直接包含
ActionView::Helpers::UrlHelper
?是的,但没有任何帮助:
NoMethodError:undefined method
url\u for'for main:Object`如果您通过
ActionView::Helpers::UrlHelper.link\u to
”调用link\u to方法,当模块未包含时,该方法将不起作用