如何在Rails 4中格式化另一个国家的number_to_phone?

时间:2016-06-15 20:36:09

标签: html ruby-on-rails ruby-on-rails-4 formatting

我在rails中遇到了一些数字格式问题。

在处理字符串格式化以及文档资源时,我尝试了社区的一些建议:

http://edgeapi.rubyonrails.org/classes/ActiveSupport/NumberHelper.html#method-i-number_to_phone

我试过的是这些:

<%= number_to_phone(client.phone, {:groupings => [4,3,3], delimiter: "-"}) %>

<%= number_to_phone(client.phone, pattern: /(\d{2})(\d{5})(\d{5})$/)) %>

即使文件声明:

,这些都不适合我
  

将号码格式化为电话号码(默认为美国,例如,(555)123-9876)。您可以在选项哈希中自定义格式。

,提供的示例是:

number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/))

=&GT; “133-1234-5678”

我想将其格式化为:

  

(12)-3456-7890

我缺少什么,所以这段代码按照我期望的方式工作?

2 个答案:

答案 0 :(得分:3)

:pattern选项仅为added to Rails 5.0.0 rc1。它在Rails 4中不起作用。所以我猜你运气不好,除非你更新到Rails 5。

答案 1 :(得分:2)

如果您愿意,可以随时编写自己的帮助方法:

def num_to_phone(num)
  "(#{ num[0..1] })-#{ num[2..5] }-#{ num[6..-1] }"
end