【问题标题】:Error "no implicit conversion of Symbol into Integer" with gem savon rails使用 gem savon rails 出现错误“没有将符号隐式转换为整数”
【发布时间】:2016-04-19 20:36:30
【问题描述】:

我正在使用 gem savon 来读取一个 xml,结果是正确的。当我在视图中显示 xml 的所有字段时,它会正确显示,但是当我只想显示其中一个字段时,它会出现错误。 "" 我记下了我的代码。

class Code < ActiveRecord::Base

	attr_accessor :strDataInicial, :strDataFinal

    def initialize(strDataInicial)
        @strDataInicial = strDataInicial
    end

    def data
        if response.success?
            return document(response)
        else
            raise "Error Message"
        end
    end

    private

    def document(response)
        data = response.to_hash[:ocupacao_por_segmento_response][:ocupacao_por_segmento_result][:ocupacao_por_segmento]
        if data
            data
        else
            nil
        end

    end

    def response
        client.call(
            :ocupacao_por_segmento,
            message: {
                strDataInicial: @strDataInicial,
                strDataFinal: "03/25/2015",
                blnConsideraReservasDayUse: true,
                strGrupo1: "S",
                strGrupo2: "S",
                exibeValoresContaAvulsa: true,
                strPool: "S",
                hotelId: "1"
            }
        )
    end

    def client
        Savon.client(
            wsdl: "http://172.31.1.3:1588/eSolutionWeb?singleWsdl",
            endpoint: "http://172.31.1.3:1588/eSolutionWeb?singleWsdl",
            ssl_verify_mode: :none
        )
    end

end
class CodesController < ApplicationController

	def index
        @code = Code.new(params[:strDataInicial])
        @code = @code.data
    end

end
<%= form_tag root_url, method: :get do %>
<p>
  <%= text_field_tag :strDataInicial, params[:strDataInicial] %>
  <%= text_field_tag :strDataFinal, params[:strDataFinal] %>
  <%= submit_tag "Enviar" %>
</p>
<% end %>

<% if @code %>
  <dl id ="zip_info">
    <dt>Diaria Media:</dt>
    <dd><%= @code[:diariamedia] %></dd>
  </dl>
<% end %>

【问题讨论】:

  • 向我们展示它引发错误的确切行
  • 该行出现错误

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rubygems


【解决方案1】:

@code 实例变量(可能被反向工程回 response.to_hash[:ocupacao_por_segmento_response][:ocupacao_por_segmento_result][:ocupacao_por_segmento] 似乎是 Array

如果不了解基础数据,就不可能提出可行的解决方案,但我建议您尝试一下:

<dd><%= @code.first[:diariamedia] %></dd>

【讨论】:

  • 工作......做了一个循环来获取数组的所有值,因为我需要所有......现在......我可以显示所有我想要的数据,但是字段“代码 [ :room_night]" 为每条记录生成一个数字,需要把我得到的"code [: room_night]" 字段的所有值相加...我不知道怎么办?
  • 如果您还有其他问题,请发布另一个问题。本站有规则,请查看每页底部的“如何提问”链接。
猜你喜欢
  • 1970-01-01
  • 2014-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多