Ruby on rails 如何显示不同字段中的数据?

Ruby on rails 如何显示不同字段中的数据?,ruby-on-rails,nokogiri,Ruby On Rails,Nokogiri,当我加载我的网页时,它会从ebay中获取数据。在它中确定 但数据并没有显示在不同的行中。我想表现得像: CATEGORY LISTS Samsung Nokia Apple HTC Sony Blackberry 但是表现得像: CATEGORY LISTS Samsung Nokia Apple HTC Sony Blackberry 因为所有数据都保存在一个名称中的一个类别ID中 我的代码:

当我加载我的网页时,它会从ebay中获取数据。在它中确定

但数据并没有显示在不同的行中。我想表现得像:

   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
类别name)
终止
终止

请帮我解决这个问题。

嗯。如果我没听懂你的话

您的结果如下所示:

=> "\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+/, " ")
这是什么

=> "Samsung Nokia Apple HTC Sony Blackberry"
然后,您可以将每个单词放入一个数组:

"Samsung Nokia Apple HTC Sony Blackberry".split(/\W+/)
这就是:

["Samsung", "Nokia", "Apple", "HTC", "Sony", "Blackberry"]
然后你可以这样做:

["Samsung", "Nokia", "Apple", "HTC", "Sony", "Blackberry"].each do |manufacturer_name|
  Category.create(name: manufacturer_name)
end
然后在数据库中有六个类别

Category.count # returns 6
类别name)
终止
终止

结束

首先,您必须知道应该将这些属性中的每一个写入数组->
[“Samsumg”,“Nokia”]
,然后您可以迭代并将它们保存在数据库中。我更新了我的回答,感谢简重播了它的好,也理解了它的好。再次感谢。如果有帮助,请接受我的回答。Stackoverflow是这样工作的
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