0
次のように、私はコードの行を持っているレールコントローラでコードを失敗します私は、コードを直接実行するとRSpecのテストでは、私のapplication_controller.rbで
visit applications_path
を次のように、それは完璧に動作しますが、それはRSpecの経由application_controller.rb訪れたとき、私は
NoMethodError:
undefined method `compact' for nil:NilClass
を言うエラーが出ます
私はRSpecのとカピバラを経由して、このエラーを取得しますが、私は
def index
CaseStatus.order(:application_source).pluck(:application_source)
end
ようなコードを実行する場合、それはエラーなしで完全に実行しながら、わかりません。ちょっと混乱して、uniq!
がコード内で壊れてしまって、突然結果がゼロになってしまった。
私はuniq!
は、あなたが見る、この場合には使用したい方法ではないと思います。このエラーに
Failure/Error: @application_channels = CaseStatus.order(:application_source).pluck(:application_source).uniq!.compact if CaseStatus.order(:application_source).present?
NoMethodError:
undefined method `compact' for nil:NilClass
# ./app/controllers/loan_applications_controller.rb:53:in `index'
通常、エラーメッセージには、例外が発生したファイル名と行番号が含まれています。スタックトレースを含むエラーメッセージ全体を投稿できますか? – spickermann
空のapplication_sourceでCaseStatusを作成しましたか? –
@PeterdeRidderいいえ、CaseStatusには2つのレコードがあり、どちらもapplication_source値を持ちます。 –