Я намагаюся прийняти десяткове значення (USD, тому 12.24 буде прикладом) за допомогою методу number_field.
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
Це дозволяє мені лише вводити цілі значення.
Я намагаюся прийняти десяткове значення (USD, тому 12.24 буде прикладом) за допомогою методу number_field.
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
Це дозволяє мені лише вводити цілі значення.
Відповіді:
Ви можете обійти обмеження "лише цілі числа", додавши Float для параметра кроку:
f.number_field :amount, step: 0.5
Оновлення: Насправді ви можете використовувати для кроку значення "будь-яке", воно прийме всі плаваючі та цілі числа, і крок буде 1:
f.number_field :amount, step: :any
Оновлення цін:
Ви можете використовувати помічник рейок, number_to_currency
щоб відобразити ціну всередині поля number_:
f.number_field :amount, value: number_to_currency(f.object.amount.to_f, delimiter: '', unit: ''), step: :any
0.33
в number_field_tag :amount
, ви отримаєте params[:amount]
рівне 0.33
:step => 0.01
якщо ви хочете цифри з 2 десятковими цифрами