为什么可以';我不能在ruby中的哈希值上加1吗?

为什么可以';我不能在ruby中的哈希值上加1吗?,ruby,sequel,Ruby,Sequel,我正在使用Sequel ORM @latestorder = Step.where(:tutorial_id =>data['tutorial_id']).order(Sequel.desc(:order)).limit(1) #data['tutorial_id'] is 1 @neworder = @latestorder[:order] +1; #<-- this line causes errors! NoMethodError at /makenew/stepundefi

我正在使用Sequel ORM

@latestorder = Step.where(:tutorial_id =>data['tutorial_id']).order(Sequel.desc(:order)).limit(1) #data['tutorial_id'] is 1
@neworder = @latestorder[:order] +1; #<-- this line causes errors!

NoMethodError at /makenew/stepundefined method `+' for #<Step:0x2f85138>
#


#{late.inspect}
#13、:user_id=>1、:tutorial_id=>1、:order=>9、:title=>“选择一个组”、:instruction=>“从“组”页面中选择一个要继续的组。\r\n\r\n出于测试目的,如果您有flyasakite的密码,请选择“关于Compesh的全部”组“,:url=>”http://compesh.com/groups,:datenumber=>2012-11-10,:datetimenumber=>“2012-11-10 13:18”}>


#{迟到.命令.检查}
九,


我需要能够向限制为1的@latestorder添加1,而不必进入
。每个
循环您的
@latestorder
是一个数组,获取第一个元素,然后尝试使用该数组:

@neworder = @latestorder[0][:order] +1;

或者因为Sequel根据行的id具有不同的数组/哈希id


@neworder=@latestorder.first.order+1
@latestorder
是一个续集::Dataset,如果你想让它成为一个散列,你需要将
限制(1)
改为
首先

你能打印
@latestorder[:order]
的输出吗
<?r @latestorder.each do |late| ?>
#{late.inspect}
<?r end ?>
<?r @latestorder.each do |late| ?>
#{late.order.inspect}
<?r end ?>
@neworder = @latestorder[0][:order] +1;