【问题标题】:use url_for in gem在 gem 中使用 url_for
【发布时间】:2013-03-08 13:18:45
【问题描述】:

我正在编写一个包含一些视图的 gem,其中一个我需要使用 link_to 方法,该方法取决于 url_for 方法。默认情况下两者都不可用,所以我尝试包含所需的模块

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

什么不起作用,因为Rails.applicationnil,所以我无法获取路线和包含的 url 帮助程序。我还找到了this 方法,但我不喜欢它,因为它又快又脏。我希望在 init 之后包含该模块,以便我可以访问路由。有没有办法安排这样的sutuation?

【问题讨论】:

  • 您是否尝试直接包含ActionView::Helpers::UrlHelper
  • 是的,但它没有帮助:NoMethodError: undefined method url_for' for main:Object`
  • 如果通过ActionView::Helpers::UrlHelper.link_to调用link_to方法呢?
  • 不包含该模块时将不起作用

标签: ruby-on-rails ruby-on-rails-3 routes gem


【解决方案1】:

我解决了。不需要包含模块。这段代码在控制台上不起作用,因为 rails 环境没有完全加载在那里,但是当我启动应用程序时它工作正常。直到现在才考虑,......只是一直挂在它在控制台中不起作用的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2011-11-20
    • 2012-03-04
    • 2018-12-05
    • 1970-01-01
    相关资源
    最近更新 更多