私は次のものを持っています:
def self.parse_categories
categories = @data.css('#refinements ul').first
if categories.css('li:nth-child(1) a span').text == "Pet Supplies"
@categories_hash = {}
categories_category = categories.css('li:nth-child(2) strong').text
categories.css('li').drop(2).each do | categories |
categories_title = categories.css('.refinementLink').text
categories_count = categories.css('.narrowValue').text[/[\d,]+/].delete(",").to_i
@categories_hash[:categories] ||= {}
@categories_hash[:categories][categories_category] ||= {}
@categories_hash[:categories][categories_category][categories_title] = categories_count
end
else
@categories_hash = {}
end
return @categories_hash
end
これで、コードは次の要素を持つページでうまく機能します:#refinements ul
しかし、コードが存在しないページではコードが壊れます。がないときに何も起こらないようにするにはどうすればよい#refinements ul
ですか? エラーをスローせずにコードを無視したり、単にスキップしたりしelse
ますか?