Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 未定义的方法'bytesize';对于#<;散列>;_Ruby_Google App Engine_Jruby_Sinatra - Fatal编程技术网

Ruby 未定义的方法'bytesize';对于#<;散列>;

Ruby 未定义的方法'bytesize';对于#<;散列>;,ruby,google-app-engine,jruby,sinatra,Ruby,Google App Engine,Jruby,Sinatra,我想在GAE中存储和更新blogger标签到数据存储。 当我运行该代码时,会出现以下错误: javax.servlet.ServletContext log: Application Error /base/data/home/apps/yet-another-problem/1.334886515480009498/WEB-INF/gems/gems/sinatra-0.9.2/lib/sinatra/base.rb:45:in `each': undefined method `bytesi

我想在GAE中存储和更新blogger标签到数据存储。 当我运行该代码时,会出现以下错误:

javax.servlet.ServletContext log: Application Error
/base/data/home/apps/yet-another-problem/1.334886515480009498/WEB-INF/gems/gems/sinatra-0.9.2/lib/sinatra/base.rb:45:in `each': undefined method `bytesize' for #<Hash:0x86684c> (NoMethodError)
由cron运行的作业执行“/job”

get '/job' do
  @labels = Labels.new
  @labels.update
end
问题在哪里?请教我

但当第一次运行cron作业时,存储了标签数据,甚至出现了那个错误。
无法更新数据。

我认为您的问题与此处讨论的问题相同:

在您的情况下,Sinatra尝试获取@lavels.update的返回值,并将其转换为字符串以显示给用户

尝试此操作以查看是否解决了问题:

get '/job' do
  @labels = Labels.new
  @labels.update
  "Labels Updated"
end

您的返回值现在是一个字符串,因此不应该出现错误。

非常感谢!修复和工作!感谢您的光速回答。@tknv,如果这个答案解决了您的问题,您应该将其标记为已接受,这样卢克就会因此而名声大噪。@Peter,很抱歉延迟,很难找到答案的位置以及如何接受。我试图找到一些按钮来接受,但没有找到。谢谢!你也解决了我的问题!:)
get '/job' do
  @labels = Labels.new
  @labels.update
  "Labels Updated"
end