0

我正在尝试使用 rhonobile 将 JSON 结构解析到数据库中,我的代码如下;

def GetTopGainers
    Rho::AsyncHttp.get(
      :url => 'http://www.xyz.com/xyz',
      :callback => (url_for :action => :httpget_callback),
      :callback_param => "" )

    redirect :action => :viewhttp
  end

  def httpget_callback
  $httpresult = @params['body'][0].inspect
  @params['body'].each do |dailygainers|
  mygainer = Topgainers.new
  mygainer.gainers = Topgainers["dailygainers"]["gainers"]
  mygainer.date = Topgainers["dailygainers"]["date"]
  mygainer.open = Topgainers["dailygainers"]["Open"]
  mygainer.close = Topgainers["dailygainers"]["Close"]
  mygainer.save
  end
  WebView.refresh
  end

问题是没有任何东西被保存到数据库中。

有任何想法吗?

4

3 回答 3

1

由于dailygainers是do循环的参数。你需要像这样实现它

mygainer.gainers = dailygainers ["dailygainers"]["gainers"]
mygainer.date = dailygainers ["dailygainers"]["date"]
mygainer.open = dailygainers ["dailygainers"]["Open"]
mygainer.close = dailygainers ["dailygainers"]["Close"]
mygainer.save
于 2013-08-30T05:11:40.143 回答
0

尝试查看日志并激活日志的跟踪模式,在其上单击右键并选择 options->Level=Trace。
会有一些重要的调试信息。如果没有,请尝试将完整的日志放在这里,以便我们更好地帮助您。

于 2010-12-13T16:40:31.967 回答
0

如果您的 Web 服务没有设置正确的标头,您可能会返回字符串数据而不是 json 数据。您将使用 JSON.parse(@params['body']) 将字符串转换为 json。

附加 rholog.txt 将有助于查看是否是这种情况。

于 2010-12-17T19:26:13.527 回答