0

私はそのようなコントローラーアクションを持っています:

@constr_num.each do |o|
      as_oem = get_from_as_oem(o.ARL_SEARCH_NUMBER)
      if as_oem.present?
        oem_art << as_oem
      end
    end    
    @oem_art = oem_art.to_a.uniq

get_from_as_oem は次のようになります。

def get_from_as_oem(oem)  

    require 'mechanize'
   *************************
    html = page.body

    doc = Nokogiri::HTML(html)
    doc.encoding = 'utf-8'

    rows = doc.search('//table[@id = "MainContent_GridView1"]//tr')
      @details = rows.collect do |row|
          detail = {}
          [
            [:car, 'td[1]/text()'],
            [:article, 'td[2]/text()'],
            [:group, 'td[3]/text()'],
            [:price, 'td[4]/text()'],
          ].each do |name, xpath|
            detail[name] = row.at_xpath(xpath).to_s.strip
          end
          detail
      end
    @details  
  end

ビューで私が書く場合: =@oem_art 私は得る

[[{:car=>"", :article=>"", :group=>"", :price=>""}, {:car=>"Volkswagen", :article=>"1C0959799B 001", :group=>"STEUERG.", :price=>"274,22"}, {:car=>"Volkswagen", :article=>"1C0959799B 003", :group=>"STEUERG.", :price=>"274,22"}, {:car=>"Volkswagen", :article=>"1C0959799B 00E", :group=>"STEUERG.", :price=>"274,22"}, {:car=>"Volkswagen", :article=>"1C0959799B 00F", :group=>"STEUERG.", :price=>"274,22"}, {:car=>"Volkswagen", 
etc...

.each |c| のように、どうすれば正常に表示できますか c.車など...

4

2 に答える 2

1
<% @oem_art.each_pair do |oem_key, oem_value| %>
  <%= oem_key %> => <%= oem_value %></br>
<% end %>
于 2012-10-24T09:29:05.517 に答える
0

そのためには、ターミナルまたはブラウザのいずれかを使用できます。puts myhash.inspect「ダンプされた」ハッシュを端末の応答に出力するために使用できます。ログファイル。

または、コントローラーで次のようなことを行います。render text: myhash.inspect

ソリューション 1 を好む場合は、このエクスペリエンスを強化することもできますap。これは、コンソールでよりきれいで色付けされた出力を提供する gem awesome_print です。その上でpry、試してみることができます。これにより、ブレークポイントを設定して、その場所で対話型コンソールを開始できます。

素晴らしいプリント: https://github.com/michaeldv/awesome_print
Pry: https://github.com/pry/pry

また: http://guides.rubyonrails.org/debugging_rails_applications.html

于 2012-10-24T09:25:51.960 に答える