Ruby on rails 电话格式化

Ruby on rails 电话格式化,ruby-on-rails,Ruby On Rails,我是Rails的新手,我正在试图弄清楚如何使用at的示例在下面的代码中格式化电话号码。试图弄清楚我是如何和在哪里把号码打到公用电话(号码,选项={}) 电话号码: 您可以在show.html.erb中使用它 <%= number_to_phone(@contact.phone) %> 您应该通过实例变量@您的_变量将电话号码或包含电话号码的对象从控制器交给您的视图。假设您正在提交的实例具有属性phone_number 在视图文件中,应执行以下操作: <%= form_fo

我是Rails的新手,我正在试图弄清楚如何使用at的示例在下面的代码中格式化电话号码。试图弄清楚我是如何和在哪里把号码打到公用电话(号码,选项={})


电话号码:

您可以在show.html.erb中使用它

<%= number_to_phone(@contact.phone) %>

您应该通过实例变量
@您的_变量
将电话号码或包含电话号码的对象从控制器交给您的视图。假设您正在提交的实例具有属性phone_number

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

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

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

@您的电话号码)%>
如果希望有HTML输入字段,则应在视图中使用适当的表单帮助程序,例如:电话\字段

请参阅:

您在rails帮助程序或视图中使用number-to-phone(number,options={})

下面是一个用于设置手机格式的助手示例

首先,您必须知道
number\u to\u phone
方法不会返回HTML输入字段。它返回一个
字符串
。因此,可以用这种方法格式化的是已经保存的电话

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

<%= 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库,例如您的示例不起作用。错误消息:/home/ubuntu/workspace/agss/app/views/appointments/_-form.html.erb:55:语法错误,意外',预期=>…a_代码:true,扩展名:555))@输出缓冲区安全附加='…^/home/ubuntu/workspace/agss/app/views/appointments/_form.html.erb:392:语法错误,意外关键字_end,应为“')”。冻结;结束^/home/ubuntu/workspace/agss/app/views/appointments/_form.html.erb:404:语法错误,意外关键字“\u sure,expected')”/home/ubuntu/workspace/agss/app/views/appointments/_form.html.erb:4Wow。。我忘了设置键“value”。现在它开始工作了!请选择我的答案,如果它适合你@NuanesYour文本行没有将phone变量保存到数据库中,这是下面的第一行。第二行,我的原始代码行将其保存到数据库中。抛出的错误是什么?不保存到数据库对LOT没有帮助,正如我在最初的问题中提到的,我无法在
<%= 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) %>