Kesinlikle! İstediğiniz form için (basitleştirilmiş) HTML şuna benzer:
<form>
<input type="number" min="0" step="any" name="amount">
</form>
Bildirimi girişi alanına iki gerçekten önemli özellikleri: min
negatif sayıların izin vermez, çünkü 0 olarak ayarlanır ve step
edilir ondalık değerlere izin vermek istediğiniz için any
olarak ayarlanmıştır. Örneğin, yalnızca dolar tutarlarını istediğinizde, örneğin step="1"
'u ayarlayabilirsiniz. Ayrıca, maksimum bir değer belirlemek isterseniz max
özniteliğine sahip olabilirsiniz.
Önemli Not:, yalnızca istemci tarafında doğrulama gerçekleştirir. Ne yaptığınızı biliyorsanız bunu geçersiz kılmak mümkündür, bu nedenle bu formla gönderilen girdinin sunucuda geçerli olduğunu doğruladığınızdan emin olun.
Ben Yakut adam değilim, ama Simple Form docs aracılığıyla okuma, ben bu işe gerektiğini düşünüyorum:
<%= simple_form_for @transaction do |f| %>
<%= f.input :amount, input_html: { min: '0', step: 'any' } %>
<%= f.button :submit %>
<% end %>
varsayarsak tutar Modelinizdeki bir sayı türüdür, otomatik olarak bir giriş [tipi yapacaktır = sizin için numara].
Bu, daha yeni sürümlerinde çalışmıyor. Şunun gibi bir şey deneyin: 1.0..200.0, adım: 1'. Aşağıdaki cevapta bir örnek gösterilmektedir. – schlenger