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