我使用的是rails 4.2.5。
在rails API ( v4.2.5.2)中,我看到了这个助手:
number_to_delimited(number, options = {})
使用分隔符(例如,12,324)对数字进行分组数千的格式化。您可以自定义选项散列中的格式。
delimited
但是,当我在视图中使用这个帮助时,它会引发一个错误:
undefined methodnumber_to_delimited‘for #<#:0x0000000b091b30>`
其他帮手,如number_to_currency,都工作得很好。我哪儿不好?
发布于 2016-03-07 08:31:11
尝试调用ActiveSupport::NumberHelper。
ActiveSupport::NumberHelper.number_to_delimited(12345678)
=> "12,345,678"或者你也可以这样做:
include ActiveSupport::NumberHelper
number_to_delimited(12345678)
=> "12,345,678"更新:
我看到您在上面的评论中说您正在使用haml代码,您可以这样做:
= ActiveSupport::NumberHelper.number_to_delimited(12345678)或
- include ActiveSupport::NumberHelper
= number_to_delimited(12345678)发布于 2016-03-07 08:35:05
只需在ApplicationHelper中包含ActiveSupport::NumberHelper。
module ApplicationHelper
include ActiveSupport::NumberHelper
end然后,您可以直接使用视图中的所有数字助手。
<%= number_to_delimited(12345678) %>发布于 2018-09-04 02:30:04
number_to_delimited是ActiveSupport::NumberHelper中的一种方法,不能直接在视图中使用。
Rails在ActionView::Helpers::NumberHelper中提供了几个数字助手,它们被委托给ActiveSupport::NumberHelper中的方法。
例如,如果要分隔数字,则应该调用number_with_delimiter,后者将在ActiveSupport::NumberHelper中调用number_to_delimited。
# File actionview/lib/action_view/helpers/number_helper.rb, line 244
def number_with_delimiter(number, options = {})
delegate_number_helper_method(:number_to_delimited, number, options)
end希望这是合理的。干杯。
https://stackoverflow.com/questions/35839140
复制相似问题