2012-10-24 55 views
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.car等...

回答

1
<% @oem_art.each_pair do |oem_key, oem_value| %> 
    <%= oem_key %> => <%= oem_value %></br> 
<% end %> 
+1

不工作... – brabertaser19

+0

未定義的方法'each_pair」爲#<陣列:0xa7a1ca0>所以它認爲它是數組O_o – brabertaser19

+0

是的,它是一個散列數組的數組。使用each和each_pair解開它。詳細信息留給讀者。 –

0

您可以使用終端或瀏覽器。您可以使用puts myhash.inspect將您的「轉儲」散列打印到終端。日誌文件。

或者你做這樣的事情在你的控制器:render text: myhash.inspect

如果你喜歡一個解決方案還可以加強與ap這方面的經驗是創業板awesome_print它提供了控制檯漂亮,彩色輸出。最重要的是,你可以試試pry。有了這個,你可以設置斷點,然後在那個地方啓動一個交互式控制檯。

真棒打印:https://github.com/michaeldv/awesome_print
撬:https://github.com/pry/pry

另外:http://guides.rubyonrails.org/debugging_rails_applications.html