Undefined method for nil:NILClass

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。
undefined methodエラーを3分以内でトラブルシューティング

値が含まれていないデータピルにFormulaを使用すると、次のエラーが発生することがあります:

text
Undefined method for nil:NilClass

このエラーは、実行時にデータピルに値が含まれていなかったことを示します。

Undefined method for nil:NILClassの例Undefined method for nil:NILClassの例

発生する理由

このエラーは、実行時にデータピルの値がnullの場合に発生します。 次のシナリオでこのエラーが発生する可能性があります:

  • Getアクションが、フィールドが欠落しているレコードを返します。
  • Searchアクションが結果を返しません。
  • SQLクエリが0行を返します。

たとえば、ステップ2に欠落しているフィールドがある場合、データピルに値が含まれません。つまり、ステップ3(Update lead in Marketo)が空のデータピルにFormulaを適用します。

Undefined method for nil:NILClassの例Undefined method for nil:NILClassの例

値のないデータピルにはcapitalizeFormulaを適用できないため、ジョブは次のエラーで失敗します:

text
Error calculating input for field 'company':
Formula received a nil value:
undefined method `capitalize' for nil:NilClass

トラブルシューティング方法

データピルがnullの場合にエラーを防ぐには、Formulaで&安全ナビゲーション演算子を使用します。 例:

text
[Datapill]&.capitalize

この演算子は、データピルに有効な値があるかどうかを確認します:

  • データピルに値が含まれている場合、この演算子はFormulaを適用します。
  • データピルがnullの場合、この演算子はFormulaをスキップし、nullを返します。

これにより、レシピは失敗せずに続行されます。

安全ナビゲーション演算子の使用例.capitalizeFormulaで安全ナビゲーション演算子を使用する例

Last updated: