Преобразование значения столбца при отображении в режиме редактирования. - PullRequest
0 голосов
/ 14 марта 2011

Итак, моя тема не соответствует моему вопросу, но вот что мне нужно:

У меня есть поле цены в моей модели продукта.

Вот поле формы, которое я использую, это просто обычное поле формы:

<%= f.label :price, "Price: Use numbers and a decimal only. E.g., 34.00" %><br />
<%= f.text_field :price, :style => "width: 50px" %>

Я преобразую это десятичное число в целое число перед тем, как сохранить его в базе данных, это потому, что мне нужно потом немного поработать с ним, и, конечно, целые числа легче добавить, чем иметь дело с плавающей математикой.

Однако, когда пользователь снова начинает редактировать это поле, оно появляется как целое число или 3400 в текстовом поле.

Как мне сказать f.text_field вместо этого отображать значение с плавающей запятой?

Мой гугл-фу отключен, поэтому любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Мне нравится хранить данные в базе данных, поскольку пользователь ввел их по этой причине. Не могли бы вы добавить еще один столбец, представляющий целочисленное значение, которое будет использоваться для последующей математики?

1 голос
/ 15 марта 2011

<%= f.text_field :price, :value => @product.price.to_f %>

...