База данных заполнена значениями на английском языке и в формате, например: hourlyrate => 20.90.При первом запуске (по умолчанию английский язык), форма ввода правильно отображает содержимое поля.Я могу изменить и сохранить, без проблем.Если я переключаюсь на немецкий, номер отображается правильно, как 20,90.Если я что-то отредактирую в этой форме, я не смогу снова сохранить, так как валидация поймает число как недействительное.
У меня вопрос, нужно ли вносить исправления в моем контроллере перед сохранением, или я сделал это?пропустить какую-то встроенную функцию Rails?
Соответствующие части кода
Помощник:
def my_number_with_precision(value)
if value
# value
number_with_precision(value, :precision => 2)
end
end
Проверка:
validates :hourlyrate, :numericality => { :greater_or_equal_than => 0, :message => " is an invalid number or below zero" }
Форма:
<div class="input">
<%= f.text_field :hourlyrate, :value => my_number_with_precision(f.object.hourlyrate) %>
</div>
Gemfile
gem 'rails-i18n'