2014-05-09 3 views
0

내 웹 페이지를로드 할 때 데이터 양식 ebay.in을 가져 오는 것이 좋습니다.다른 필드에 데이터를 표시하는 방법은 무엇입니까?

그러나 데이터가 다른 행에 표시되지 않습니다.

CATEGORY LISTS 

     Samsung 
     Nokia 
     Apple 
     HTC 
     Sony 
     Blackberry 

그러나 같은 보여주는 : 내가 좋아 보여주고 싶은

CATEGORY LISTS 
    Samsung Nokia Apple HTC Sony Blackberry 

모든 데이터가 하나의 이름 카테고리의 하나 개의 ID에 저장하기 때문이다.

내 코드 :

  class Category < ActiveRecord::Base 
      has_many :products 


      url ="http://www.ebay.in/cat/mobiles" 
      doc = Nokogiri::HTML(open(url)) 
      name = doc.css("#brand .nav-tabs-m a").text 

      if Category.find_by_name(name).nil? 
      Category.create(:name => name) 
      end 
     end 

내가 그것을 해결 도와주세요.

답변

0
class Category < ActiveRecord::Base 
    has_many :products 


url ="http://www.ebay.in/cat/mobiles" 
doc = Nokogiri::HTML(open(url)) 
name = doc.css("#brand .nav-tabs-m a") 

name.each do |category_name| 
    name = Nokogiri::HTML(category_name.content).text 
    if Category.find_by_name(name).nil? 
    Category.create(:name => name) 
    end 
end 

0

hm. 내가 너를 잘 이해하지 못한다면.

=> "\n \t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSamsung\n \t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tNokia\n \t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tApple\n \t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tHTC\n \t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSony\n \t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tBlackberry" 

본을 시도해보십시오 :

당신의 결과는 다음과 같이 보인다

?> >> name.gsub(/\s+/, " ") 

GET의이 :

=> "Samsung Nokia Apple HTC Sony Blackberry" 

은 그런 다음 각 단어를 가지고 배열에 넣을 수 있습니다 :

"Samsung Nokia Apple HTC Sony Blackberry".split(/\W+/) 
얻을 수 는

이 :

["Samsung", "Nokia", "Apple", "HTC", "Sony", "Blackberry"] 

는이 작업을 수행 할 수 있습니다 그리고 당신은 당신의 DB

Category.count # returns 6 
+0

여섯 개 카테고리에서이

["Samsung", "Nokia", "Apple", "HTC", "Sony", "Blackberry"].each do |manufacturer_name| Category.create(name: manufacturer_name) end 

첫 번째 y 이런 속성들을 배열 ->'''[ "Samsumg", "Nokia"]'''에 써야한다는 것을 알아야합니다. 그런 다음 DB를 반복해서 저장할 수 있습니다. 나는 내 대답 – Jan

+0

을 재생 해 주며 그 재연을 위해 1 월 고맙다. 다시 고마워. – Alok

+0

도움이 되었다면 제 대답을 수락하십시오. Stackoverflow는 다음과 같이 작동합니다. – Jan

관련 문제