2013-04-06 90 views
3

我試圖在應用程序中整合Nokogiri在Rails 3.2中。我看過Rails Casts插曲,並嘗試創建一個名爲nokogiri_test.rb的測試文件,然後通過我的cmd運行它。它運行良好,並從旅遊網站獲取內容。如何將Nokogiri整合到Rails應用程序中

我正在建設的應用程序是作爲實驗的導軌中的旅遊網站。我想從另一個旅遊網站獲取信息,例如:關於前往亞洲的一段。

我不明白如何在我的應用程序中實現Nokogiri代碼。我是否需要創建一個控制器,然後在其中寫入nokogiri代碼?或者在現有的控制器頁面或其他地方寫入nokogiri代碼?然後我還想在我的視圖(asia.html.erb)中顯示信息。我如何顯示它?

我在網上到處搜索過,從未找到解決方案。任何人都可以點亮一下嗎?我會很感激。

回答

1

一般約定不是將任何業務邏輯放入控制器或視圖中。特別是涉及任何第三方服務(如外部網站)時。你可以按照Rails Casts "Screen Scraping"的建議建立一個把模型放入模型的耙子任務。

+0

這意味着我需要將信息寫入模型,然後將其顯示在模型的視圖中? – user2251642 2013-04-06 07:57:41

+0

是的,建立一個模型,在控制器中實例化並在視圖中顯示這個實例。在這種情況下,緩存通常很有意義。 http://guides.rubyonrails.org/caching_with_rails.html – iltempo 2013-04-06 07:59:58

+0

但是,如何屏幕報廢減少工作?我正在考慮直接從外部網站獲取信息,而不涉及模型(db)。如果涉及數據庫,它就像創建模型並存儲自定義信息和顯示一樣好。 – user2251642 2013-04-06 08:20:03

1

我看到這個問題在這裏還沒有解決。我遇到了同樣的問題,以及許多搜索(和很多頭痛)後,我發現解決方案:Display data scraped from Nokogiri in Rails?

所以(不知道一般的約定),可以把你的nokogiri的網頁刮板你的控制器! (我也是一個小女孩) 希望這會有所幫助

相關問題