0
我想在我这里的模型来查询一栏:为什么我无法查询我的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!
但是,当我创建了几个例子,我发现了以下错误,当我调用move_up
方法。
Failure/Error: context2.move_up
+options[:order]+ entry 1 of an unsupported object Fixnum
# ./context.rb:11:in `move_up'
尽管有边缘条件,为什么不工作?
呃,额头sma。再次感谢solnic。 – lobati 2010-11-09 18:54:47
heh :)顺便说一句 - 我只是做了一个修改,如果你尝试使用其中一个查询选项作为属性名称,比如:order,:fields等,Property会对你发出尖叫。 你可以检查提交看看哪些名字是保留的: https://github.com/datamapper/dm-core/commit/ea8d92b48af431a3197a8d589730e0f638709cad – solnic 2010-11-09 21:30:09
太棒了,谢谢!我会期待宝石更新。享受使用dm。 – lobati 2010-11-10 03:14:50