Как вы используете number_to_phone в Rails 3? - PullRequest
2 голосов
/ 17 июля 2011

Я храню номер телефона в базе данных как "1234567890".

Как вы можете использовать number_to_phone, чтобы красиво отображать число в форме как "(123) 456-7890"?

Я попробовал следующее, но оно показало только цифры.

<%= f.text_field number_to_phone(:phone_number) %>

Спасибо.

1 Ответ

5 голосов
/ 18 июля 2011

вы можете создать простого помощника в своем приложении

  def format_phone(phone, mobile=false)
    return phone if format.blank?
    groupings = format.scan(/d+/).map { |g| g.length }
    groupings = [3, 3, 4] unless groupings.length == 3
    ActionController::Base.helpers.number_to_phone(
      phone,
      :area_code => format.index('(') ? true : false,
      :groupings => groupings,
      :delimiter => format.reverse.match(/[^d]/).to_s
    )
  end

, тогда, на ваш взгляд, сделайте

<%= format_phone(phone_number)%>
...