0

在模型中,我有一个电话整数字段。在视图中,该字段显示如下:

<%= f.number_field :phone %>

我正在尝试将电话号码的这一输入显示为 3 个输入,我想在视图中向用户提供如下内容:

___ - ___ - ____

有什么办法吗?

4

2 回答 2

1

jQuery Masked Input插件在一个输入字段中提供了此功能:

它允许用户更轻松地输入固定宽度的输入,您希望他们以某种格式(日期、电话号码等)输入数据。

演示页面包含一个电话格式示例:(___) ___-____

于 2013-04-18T11:51:51.243 回答
0

一种方法是在视图中创建 3 个字段,并让用户在 3 个单独的部分中输入数字。鉴于它看起来像这样

<p><%= f.number_field_tag "area_code" %> - 
<%= f.number_field_tag "phone1" %> - 
<%= f.number_field_tag "phone2" %> </p>

在控制器中,您将这 3 个加入 1 个字符串,以便能够根据您的模型设置保存它

def create_user
...
@user = User.new
@user.phone_number = params[:area_code].to_s + params[:phone1].to_s + params[:phone2].to_s
...
end

我还建议将电话号码保存为模型中的字符串,以避免错误存储以 0 开头的数字。

于 2013-04-18T11:36:17.273 回答