2013-03-18 35 views
0

我最近開始學習Rails,並試圖構建一個簡單的應用程序,它可以從網站中刮取足球裝置並在我的index.html中顯示數據。然後用戶可以嘗試預測燈具的得分。在Rails中顯示從Nokogiri中抓取的數據?

我設法將數據刮成使用一個引入nokogiri文件fixtures.rb:

require 'nokogiri' 
require 'open-uri' 
doc = Nokogiri::HTML(open("http://www.bbc.co.uk/sport/0/football/21784836")) 
doc.css("tr.row2").each do |item| 
    puts item.at_css("td.left.first p").text 
end 

什麼是添加到一個Ruby on Rails應用程序最簡單的方法?我可以把它放入控制器嗎?作爲視圖,我無法完全粘貼文本。

回答

3

將其添加到數組中,然後在控制器中使用它。

@football = [] 
doc.css("tr.row2").each do |item| 
    @football << item.at_css("td.left.first p").text 
end 

然後在您的視圖中可以參考的內容:

<% if @football %> 
    <ul> 
    <% @football.each do |foot| %> 
     <li><%= foot %></li> 
    <% end %> 
    </ul> 
<% end %> 
+0

非常感謝理查德。我只是嘗試了這一點,但我得到了錯誤{未定義的方法'每個'爲零:NilClass}我認爲這意味着只有1個@football? – 2013-03-18 21:57:09

+0

您是否將該代碼放入與您的視圖關聯的操作中?如果'@ football'有一個值,我編輯迴應只顯示代碼。 – 2013-03-18 22:36:06

+0

謝謝理查德。它現在有效。我最初將操作放在控制器的索引方法之外。它在裏面工作。欣賞它。 – 2013-03-18 23:02:40

相關問題