У меня есть класс ActiveRecord::Base
, для которого нужно, чтобы значение одного поля было выбрано как наименьшее целое число из доступных, учитывая записи, уже находящиеся в базе данных. Этот фрагмент делает это, кажется ли вам эффективным? Можно ли это улучшить?
class Thing < ActiveRecord::Base
def initialize
special = 0
Thing.find(:all,:order=>"special ASC") do |s|
break if s.special.to_i != special
special += 1
end
super
write_attribute(:special,special)
end
end