0

実際にNokogiriと一緒に働いています:

gruppe.css('diagnosen_liste>diagnose').each do |diagnose|
    cesc = diagnose.css('icd_code')[0]
    cesc2 = diagnose.css('bezeichnung')[0]
  cesc3 = diagnose.css('abrechenbar')[0]
  cesc4 = diagnose.css('geschlechtsbezug')[0]
    sub = ""
  diagnose.css('diagnosethesaurus_liste>diagnosethesaurus').each do |subcategory|
    sub << "#{subcategory['V']};"
  end
    arr << "Icd3.create!({:nummer => '#{cesc['V']}', :bezeichnung => '#{cesc2['V']}', :icd2_id => '#{b.to_s}', :sub => '#{sub}', :abrechenbar =>'#{cesc3['V']}', :geschlechtsbezug =>'#{cesc4['V']}'})" + "\n"
end

私の問題は次のとおりです。

cesc4 = diagnose.css('geschlechtsbezug')[0]

各診断では利用できません。だから私はそのような関数を次のようにしようとしています

diagnostic.css('geschlechtsbezug')[0]が存在しない場合、cesc4 = nil

誰かがこのコードの書き方を教えてくれるかもしれません! ありがとう!

4

4 に答える 4

2

最初の要素のみに関心があるため、#at_css代わりに使用できます。したがって、次のように#cssコードを実行できます。

cesc4 = diagnose.at_css('geschlechtsbezug')

geschlechtsbezug見つからない場合は、cesc4自動的に に設定されnilます。

アップデート

問題は、私のファイルが次のようになっていることです: ['V'] のみが必要であることを意味します

次に、次のようにします。

 cesc4 = diagnose.at_css('geschlechtsbezug')
 cesc4 &&= cesc4['V']
于 2013-08-18T16:22:18.610 に答える
1

これは次のように単純ではありませんか:

cesc4 = diagnose.css('geschlechtsbezug').empty? ? nil : diagnose.css('geschlechtsbezug')[0]
于 2013-08-18T16:17:03.447 に答える