我有这样的控制器动作:
@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等......
答案 0 :(得分:1)
<% @oem_art.each_pair do |oem_key, oem_value| %>
<%= oem_key %> => <%= oem_value %></br>
<% end %>
答案 1 :(得分:0)
您可以使用终端或浏览器。您可以使用puts myhash.inspect
将“转储”哈希打印到终端分配。日志文件中。
或者您在控制器中执行以下操作:render text: myhash.inspect
如果你更喜欢解决方案,你也可以使用ap
来增强这种体验,这是一个gem awesome_print,可以在你的控制台中提供更漂亮和彩色的输出。最重要的是,您可以尝试pry
。有了它,您可以设置断点,然后在该位置启动交互式控制台。
令人敬畏的印刷品:https://github.com/michaeldv/awesome_print
勉强:https://github.com/pry/pry
另外:http://guides.rubyonrails.org/debugging_rails_applications.html