【发布时间】:2013-03-08 13:18:45
【问题描述】:
我正在编写一个包含一些视图的 gem,其中一个我需要使用 link_to 方法,该方法取决于 url_for 方法。默认情况下两者都不可用,所以我尝试包含所需的模块
include ActionView::Helpers
include ActionDispatch::Routing
include Rails.application.routes.url_helpers
什么不起作用,因为Rails.application 是nil,所以我无法获取路线和包含的 url 帮助程序。我还找到了this 方法,但我不喜欢它,因为它又快又脏。我希望在 init 之后包含该模块,以便我可以访问路由。有没有办法安排这样的sutuation?
【问题讨论】:
-
您是否尝试直接包含
ActionView::Helpers::UrlHelper? -
是的,但它没有帮助:
NoMethodError: undefined methodurl_for' for main:Object` -
如果通过
ActionView::Helpers::UrlHelper.link_to调用link_to方法呢? -
不包含该模块时将不起作用
标签: ruby-on-rails ruby-on-rails-3 routes gem