在模型中,我有一个电话整数字段。在视图中,该字段显示如下:
<%= f.number_field :phone %>
我正在尝试将电话号码的这一输入显示为 3 个输入,我想在视图中向用户提供如下内容:
___ - ___ - ____
有什么办法吗?
在模型中,我有一个电话整数字段。在视图中,该字段显示如下:
<%= f.number_field :phone %>
我正在尝试将电话号码的这一输入显示为 3 个输入,我想在视图中向用户提供如下内容:
___ - ___ - ____
有什么办法吗?
jQuery Masked Input插件在一个输入字段中提供了此功能:
它允许用户更轻松地输入固定宽度的输入,您希望他们以某种格式(日期、电话号码等)输入数据。
演示页面包含一个电话格式示例:(___) ___-____
一种方法是在视图中创建 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 开头的数字。