0
我在桌上有一個信用卡號碼字段。 對於<%= f.text_field:credit_number%>,我想用'xxxx xxxx xxxx xxxx'而不是'xxxxxxxxxxxxxxxx'的格式顯示它。 但我不想用DB中的數字來保存空間。在ActiveRecord中顯示格式字符串
現在我不在乎輸入,只是顯示。
完成它的最好方法是什麼?
謝謝。
山姆
我在桌上有一個信用卡號碼字段。 對於<%= f.text_field:credit_number%>,我想用'xxxx xxxx xxxx xxxx'而不是'xxxxxxxxxxxxxxxx'的格式顯示它。 但我不想用DB中的數字來保存空間。在ActiveRecord中顯示格式字符串
現在我不在乎輸入,只是顯示。
完成它的最好方法是什麼?
謝謝。
山姆
text_field
不是信用卡號碼使用<input type="number">
instead.Try創建幫手,爲渲染鑑於這樣的好:
=> "xxxxxxxxxxxxxxxx".chars.each_slice(4).map(&:join)*' '
=> "xxxx xxxx xxxx xxxx"
考慮使用佔位符
:
<%= f.text_field :credit_number, placeholder: "xxxx xxxx xxxx xxxx" %>
來自評論:
add before_c reate塊在models/user.rb
型號:
before_create do
credit_number.split(' ').join if credit_number
end
現在創建前(寫入DB)credit_number
串加入。
謝謝你的回答。但是,你誤解了我的問題。我知道如何改變字符串。但是我想在格式顯示時保存沒有格式的數據。 –
@SamKong爲你的模型添加'before_create'模塊。看更新答案 –