电话格式化

时间:2016-01-14 22:06:08

标签: ruby-on-rails

我是Rails的新手,我正在尝试弄清楚如何使用http://apidock.com/rails/ActionView/Helpers/NumberHelper/number_to_phone中的示例来格式化我的代码中的电话号码。试图找出我如何以及在何处拨打number_to_phone(number,options = {})public

gl

4 个答案:

答案 0 :(得分:3)

您应该通过控制器中的实例变量@your_variable将电话号码或包含电话号码的对象传递给您的视图。让我们假设您要处理的实例具有属性phone_number。

在视图文件中,您应该执行以下操作:

 <%= form_for @person do |f| %>
   <%= f.telephone_field(:phone, :value => @your_variable.phone_number ) %> 

   <%= f.submit %>
 <% end %>

如果您想要一个HTML输入字段,您应该在视图中使用适当的表单助手,例如:telephone_field

请参阅:http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

答案 1 :(得分:1)

首先,您必须知道number_to_phone 方法不会返回HTML输入字段。它返回String。因此,使用该方法格式化的是已保存的电话。

以下代码将显示在输入文本字段中格式化的已保存电话。

<%= f.text_field :phone, class: 'form-control', autofocus: true, placeholder: 'xxx-xxx-xxxx', value: number_to_phone(@my_variable.telephone, area_code: true, extension: 555) %>

如果您正在寻找一种动态屏蔽输入字段的方法(如用户在文本中键入的那样),您将需要使用jQuery库,例如maskedInput

答案 2 :(得分:0)

您可以在show.html.erb

中使用它
<%= number_to_phone(@contact.phone) %>

答案 3 :(得分:0)

您在rails帮助器或视图中使用number_to_phone(number,options = {})

以下是用于格式化手机的助手示例 How do you use number_to_phone in Rails 3?