Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 从应用程序_helper.rb到自己的模块_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 从应用程序_helper.rb到自己的模块

Ruby on rails 从应用程序_helper.rb到自己的模块,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在我的rails应用程序(3.2.14)中,我在application\u helper.rb中提供了将字符串、整数转换和解析为美元货币的方法,如(3000到'30.00'或'0.99'到99等)。他们使用number\u和number\u helper.rb-standart rails helper中的number\u精确方法 问题是我想把它们全部放进位于/lib文件夹的模块中,但我失去了rails上下文 那么我如何解决这个问题呢?您需要actionpack提供的特定帮助程序,如 requi

在我的rails应用程序(3.2.14)中,我在
application\u helper.rb
中提供了将字符串、整数转换和解析为美元货币的方法,如(3000到'30.00'或'0.99'到99等)。他们使用
number\u和
number\u helper.rb
-standart rails helper中的
number\u精确方法

问题是我想把它们全部放进位于
/lib
文件夹的模块中,但我失去了rails上下文


那么我如何解决这个问题呢?

您需要actionpack提供的特定帮助程序,如

require 'action_view/helpers/number_helper'
并在代码中使用它

include NumberHelper

您是否有自动加载lib目录的配置设置,默认情况下rails不会自动加载lib目录

config.autoload_paths += %W(#{config.root}/lib)
然后在lib文件中使用
include Module
(正如phoet所解释的),或者使用更长的include语法-

包括ActionView::Helpers::NumberHelper