Rails form_for只接受具有相同小数的数值?

时间:2016-11-28 21:52:52

标签: ruby-on-rails

我的模型中有一个接受浮点值的变量。创建对象时一切正常。当我尝试编辑值时出现问题。我这样验证:

validates :amount, presence: true

validates_numericality_of :amount, greater_than_or_equal_to: 0

当我尝试编辑对象时,它只接受小数点后具有相同值的值。例如,如果我的初始值是2.1,它将接受3.1或4.1但不接受2.0或2.5。我认为问题在于验证,但这也是我的更新方法:

def update

  @entry = Entry.find(entry_params[:id])
  respond_to do |format|

    if @entry.update_amount(entry_params[:amount])

      @entry.save

      format.html { redirect_to diary_url(:curr_day => entry_params[:day])}#, notice: 'User was successfully updated.' }
      format.json { render :show, status: :ok, location: @entry }
    else
      format.html { render :new }
      format.json { render json: @entry.errors, status: :unprocessable_entity }
    end
  end
end

和update_amount:

def update_amount(amount)
  self.amount = amount
end

任何人都可以建议我该怎么做?

这是它的样子:

enter image description here

0 个答案:

没有答案