ruby – 我如何要求NumberHelper并使其工作?

前端之家收集整理的这篇文章主要介绍了ruby – 我如何要求NumberHelper并使其工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图写一个简单的Sinatra东西,但我需要ActionView :: Helpers :: NumberHelper从动作包.
http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html

问题是,如何安装和使用它?

irb(main):001:0> require 'action_view/helpers/number_helper'
irb(main):002:0> number_with_precision(1)
NoMethodError: undefined method `number_with_precision' for main:Object
irb(main):004:0> ActionView::Helpers::NumberHelper.number_with_precision(1)
NoMethodError: undefined method `number_with_precision' for ActionView::Helpers::NumberHelper:Module

为什么这个简单的步骤不行?

而且,如果我需要所有的废话:

irb(main):001:0> require 'action_pack'
irb(main):004:0> require 'action_view'
irb(main):005:0> include ActionView::Helpers::NumberHelper
irb(main):006:0> number_to_phone(12345)
NoMethodError: undefined method `starts_with?' for "12345":String

所有这一切如何有意义?为什么这个模块不工作?为什么不需要任何需要的东西?它需要什么? starts_with在哪里?

Google对这些问题完全无语.

UPD:现在我得到以下内容

number_with_precision(1,:locale => 'fr')
TypeError: wrong argument type nil (expected Fixnum)

在我看来,我的NumberHelper坏了.这不是一个好的行为.

解决方法

所以在做了一些研究之后,我在Rails的主分支上发现了以下的pull请求

https://github.com/rails/rails/pull/6315

它几乎旨在将ActionView :: Helpers :: NumberHelper从ActionView移动到ActiveSupport

我还看到一些封闭的问题,旨在解决一些问题,允许将NumberHelper作为独立的.这意味着需要修复等等.我没有发现number_to_phone的一个开放的问题,但问题根源在于ActiveSupport添加别名starts_with的事实?到String类.我不知道他们有没有抓到那个bug.

无论如何,使用ActionView 3.2.13版本,您可以执行以下操作

require 'action_view'
include ActionView::Helpers::NumberHelper
number_with_precision 3.1
#=> "3.100"

至于number_to_phone,那仍然会破坏当前的版本.我正在制作公关来解决这个问题.

编辑

至于语言环境问题,似乎如果您指定一个本地用户,您需要在I18n中设置正确的选项才能正常工作.如果您不提供语言环境,则默认值将如下所示:{= separator =>“.”,:delimiter =>“”,:precision => 3,:significant => false,:strip_insignificant_zeros =&gt ; false},否则哈希将为空,这将导致问题.我似乎在Rails上看不到任何关于它的问题.

再次,这是固定在公关的主https://github.com/carlosantoniodasilva/rails/commit/f6b71499e967e03c65d53cc890585f42f3b8aaa2

UPDATE

您现在可以使用ActiveSupport来使用这些帮助

http://api.rubyonrails.org/classes/ActiveSupport/NumberHelper.html

原文链接:https://www.f2er.com/ruby/265731.html

猜你在找的Ruby相关文章