0
Je suis en train d'interroger une colonne dans mon modèle ici:Pourquoi ne puis-je pas interroger mon modèle DataMapper?
require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-aggregates'
db_name = 'mydb.sqlite'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite://' + Dir.pwd + '/' + db_name)
class Context
include DataMapper::Resource
property :id, Serial
property :order, Integer
def initialize
self.order = (self.class.max(:order) || 0) + 1
end
def move_up
temp = self.class.first(:order => (self.order - 1))
temp.order += 1
temp.save
self.order -= 1
self.save
end
end
DataMapper.finalize
DataMapper.auto_upgrade!
Mais quand je crée quelques cas que je reçois l'erreur suivante quand je l'appelle la méthode move_up
.
Failure/Error: context2.move_up
+options[:order]+ entry 1 of an unsupported object Fixnum
# ./context.rb:11:in `move_up'
Nonobstant les conditions aux bords, pourquoi cela ne fonctionne-t-il pas?
Ugh, le front smack. Merci encore solnic. – lobati
Heh :) btw - Je viens de faire une modification qui fera que Property criera à vous si vous essayez d'utiliser l'une des options de requête comme un nom de propriété, comme: order,: fields Vous pouvez consulter le commit pour voir quels noms sont réservés: https://github.com/datamapper/dm-core/commit/ea8d92b48af431a3197a8d589730e0f638709cad – solnic
Génial, merci! Je serai impatient de la mise à jour de la gemme. Profitant d'utiliser dm. – lobati