Отображение строки с форматом в ActiveRecord
74
9
У меня есть поле номера кредитной карты на столе. Для <% = f.text_field: credit_number%>, я хочу показать его с некоторым форматом, например, "xxxx xxxx xxxx xxxx" вместо "xxxxxxxxxxxxxxxx". Но я не хочу сохранять пространство с номером в БД.
Пока что мне не нужно вводить, а показывать только.
Какой лучший способ это сделать?
Благодарю.
Сэм
спросил(а)
2014-07-22T09:46:00+04:00
6 лет, 6 месяцев назад
добавить комментарий
пожаловаться
Решение
60
text_field
не подходит для использования номера кредитной карты. <input type="number">
вместо этого. Попробуйте создать помощник, чтобы сделать визуализацию следующим образом:
=> "xxxxxxxxxxxxxxxx".chars.each_slice(4).map(&:join)*' '
=> "xxxx xxxx xxxx xxxx"
на виду использовать заполнитель:
<%= f.text_field :credit_number, placeholder: "xxxx xxxx xxxx xxxx" %>
Из комментария:
добавьте блок before_create к модели в models/user.rb
:
before_create do
credit_number.split(' ').join if credit_number
end
Теперь, прежде чем создавать (пишите в db), credit_number
строка credit_number
.
ответил(а)
2014-07-22T09:54:00+04:00
6 лет, 6 месяцев назад
добавить комментарий
пожаловаться
Ваш ответ
- Вопросы
- Activerecord
- Отображение строки с форматом в ActiveRecord