Тук имам чувството, че пия луди хапчета. Имам клас ActiveRecord, поддържан от MySQL, и редица атрибути се отчитат в Rails като тип Integer:
Device.last.score.class # returns `Fixnum`
MySQL съобщава, че колоната е от тип decimal(10,0)
.
Какво ми липсва тук? Дори опитах да се обадя на reset_column_information
. Миграцията изглежда правилна и файлът със схема също изглежда добре.
Забележка: този проблем не се случваше в dev, където използвам SQLite.
Ето моята миграция:
class AddScoreColumnToDevices < ActiveRecord::Migration
def change
add_column :devices, :score, :decimal
end
end
Device.first.score.class
? (вместоDevice.new
) - person Michael Berkowski   schedule 12.09.2013Fixnum
също. Не бях прав по-горе,Device.new.score.class
всъщност връщаNilClass
по очевидни причини. Поправя това сега. - person YWCA Hello   schedule 12.09.2013Device.create(score: 11.11)
? - person Carlos Drew   schedule 13.09.2013:score
в нея. Това е основен моделен клас, който наследява директно отActiveRecord::Base
. - person YWCA Hello   schedule 13.09.2013