【问题标题】:How to use polymorphic_path in lib/module in Rails 4如何在 Rails 4 的 lib/module 中使用 polymorphic_path
【发布时间】:2016-05-04 07:43:39
【问题描述】:

我想在位于lib/my_module.rb 的帮助模块中调用polymorphic_path

我从this answer 尝试了以下方法,它适用于模型,但不适用于我的模块:

module MyModule
  include ActionDispatch::Routing::PolymorphicRoutes
  include Rails.application.routes.url_helpers

  def link(model)
    polymorphic_path(model)
  end
end

我明白了:

undefined method `polymorphic_path' for MyModule:Module

顺便说一句,我通过config.autoload_paths += %W(#{config.root}/lib)config/application.rb 中加载我的模块。

【问题讨论】:

  • 您应该为自己的问题创建一个答案并将其标记为已接受。

标签: ruby-on-rails ruby-on-rails-4


【解决方案1】:

事实证明,您必须创建一个类才能在 ruby​​ 中正确包含内容,例如:

class MyClass
  include ActionDispatch::Routing::UrlFor
  include Rails.application.routes.url_helpers

  def link(model)
    polymorphic_path(model)
  end
end

【讨论】:

    猜你喜欢
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2013-06-26
    • 2014-08-06
    相关资源
    最近更新 更多