форма не сохраняется в базе данных в рельсах - PullRequest
0 голосов
/ 07 сентября 2011

У меня сейчас есть форма:

<%= f.label(:price) %> <br/>
<%= f.text_field(:price, :value => number_to_currency(@object.price)) %>

Я изменил свою миграцию с использования float на десятичный:

change_column :object, :price, :decimal, :precision => 5, :scale => 2 

На мой взгляд, я назвал это с помощью:

<%= @object.price %> 

По какой-то причине, когда бы я ни вносил изменения в форму или в консоль, он никогда не сохраняет значение и сохраняет его на уровне 0,00 долл. США независимо от того, на что я изменяю его. По мнению, это всегда отображается как «0.0». Я не уверен, в чем проблема.

1 Ответ

0 голосов
/ 07 сентября 2011

У вас есть таблица с именем object или objects или это только пример?

Если нет, проверьте столбец цен, чтобы убедиться, что миграция работала правильно.

Если у вас есть правильный тип столбца в вашей таблице, проверьте, используете ли вы attr_accessible в классе Object (и что price включено).

Кроме того, если вы используете Object в качестве имени класса, у вас могут возникнуть некоторые другие проблемы, и я бы посоветовал против этого.

EDIT number_to_currency может предварять $ перед вашими затратами, убедитесь, что вы вводите свою цену без какой-либо валюты до этого, иначе я верю, что это также приведет к 0.0 (не может разобрать десятичную '$ 123.00', но может разобрать ' 123,00'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...