Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在库文件夹模块中使用url__Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在库文件夹模块中使用url_

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

我有一个模型,有一个名为“type”的字段和一个名为“value”的字段。类型字段将确定在呈现之前如何解析“值”。我希望这是易于扩展的,所以我把各种“格式化程序”类放在我的lib文件夹中

我的一个“格式化程序”调用了url\u,用于:

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