2016-10-20 3 views
1

Моих рельсы приложения есть поле, где пользователи могут ввести свой контактный номер телефон, и я использую тела: как это дисплей:Какое числовое форматирование может вызвать мобильный телефон?

<%= link_to sample.phone, "tel:#{sample.phone}" %> 

Таким образом, если пользователь ввел число в поле телефона, как это: 0176-40206387, дисплей также будет 0176-40206387

И если пользователь ввел число в поле телефона, как это: 017640206387, дисплей также будет 017640206387

Как новичок, я не знаю, какой формат мобильный телефон может вызов, или телефон au томально преобразует число в число, подлежащее вызову? Если нет, то какой правильный формат может быть вызван, чтобы сообщить пользователю, как ввести свой номер телефона?

+1

Это должно помочь мне угадать http://stackoverflow.com/q/13662175/4587148 – Sajan

+0

@sajan, так что теперь я понимаю, что я должен сделать помощником, чтобы преобразовать число, введенное пользователем, к вызываемому числу, например, последнему 2 в ссылке, которую вы даете? – boholdyjeramae

ответ

2

Вы должны рассмотреть использование number_to_phone

Кроме того, вы можете проверить this link, чтобы помочь вам, как сделать телефонные звонки в рубин

+0

Итак, с этими двумя решениями, которые вы дали, теперь не имеет значения, как пользователи вводили свой номер телефона в поле, потому что эти 2 решения автоматически преобразуют это число в номер, подлежащий вызову? – boholdyjeramae

0

Если вы собираетесь собирать телефонные номера от пользователей, нужно, чтобы убедиться, что вы разделите его с белым пространством и до хранения с чем-то вроде этого

sample.phone.gsub(/\D/, '') 

Таким образом вы храните необработанный номер телефона.

Тогда в представлении можно использовать вспомогательный вид number_to_phone как Лукас упомянул

number_to_phone(sample.phone, area_code: true) 

Если вы хотите, вы можете даже просто хранить отформатированный номер телефона, так что вы не должны форматировать его каждый раз, когда вы хотите для просмотра.

+0

Должен ли я ввести свой номер телефона без какого-либо форматирования, т. Е. Пробелов, тире, + ... затем применить решение number_to_phone или другую ссылку, о которой упоминал @Lucas Batista Gabriel? – boholdyjeramae

+0

Итак, вы можете попытаться обеспечить форматирование при вводе данных, но дезинфекция ввода пользователя в какое-то известное состояние - это, как правило, лучшие варианты, потому что вы сталкиваетесь с менее неизвестными и не должны беспокоиться о том, чтобы сбить линию. У вас также может быть немного больше уверенности в том, что ваши данные единообразны. –

Смежные вопросы