Ruby on rails 在库文件夹模块中使用url_
我有一个模型,有一个名为“type”的字段和一个名为“value”的字段。类型字段将确定在呈现之前如何解析“值”。我希望这是易于扩展的,所以我把各种“格式化程序”类放在我的lib文件夹中 我的一个“格式化程序”调用了url\u,用于:Ruby on rails 在库文件夹模块中使用url_,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个模型,有一个名为“type”的字段和一个名为“value”的字段。类型字段将确定在呈现之前如何解析“值”。我希望这是易于扩展的,所以我把各种“格式化程序”类放在我的lib文件夹中 我的一个“格式化程序”调用了url\u,用于: class CustomTypeFormatter include ActionView::Helpers::TextHelper include ActionView::Helpers def show raw sanitize( aut
class CustomTypeFormatter
include ActionView::Helpers::TextHelper
include ActionView::Helpers
def show
raw sanitize( auto_link( value ) )
end
def get_url(page)
url_for( :controller => :my_controller, :action => :show, :path => page.path )
end
end
问题是,的url_引发了以下错误:
undefined local variable or method `_routes'
我想我只是错过了一个机会。有人知道应该是什么吗
**更新***
以下是堆栈跟踪的一部分:
actionpack (3.0.7) lib/action_dispatch/routing/url_for.rb:131:in `url_for'
actionpack (3.0.7) lib/action_view/helpers/url_helper.rb:99:in `url_for'
所以我想这一定是某种ActiveDispatch依赖关系,尽管我无法理解胜利
include ActionView::Helpers
include ActionDispatch::Routing
include Rails.application.routes.url_helpers
通过url\u的替代方案,您可以使用
Rails.application.routes.url\u帮助程序
只需添加route:如下示例所示:
get "sessions/destroy/:param_id", as: :logout
因此,您可以按如下方式使用它:
Rails.application.routes.url_helpers.logout_path(:param_id => your_value)
这将与url_的作用相同
希望这会有所帮助我认为您需要包括ActionView::Helpers::UrlHelper