たとえば、DB内で何かを探しています。Model.find_by(slug: :name)
。そして、それは地元のenvでうまくいきますが、テストではそれは私に無用です。 (私はそれを三重にチェックし、dbにレコードがあります)。Railsはdb内のレコードを見つけることができません(実際には存在します)。
ログを表示するためにdebugを追加しました。そして私がModel.where(slug: :name).count
をしたら、それは私に0を返します。しかし、レコードはこのスラグの名前で本当に存在します。
この問題を解決するにはどうすればよいですか?
開発データベースとテストデータベースが同じであることを確認しましたか? –
* "私はそれを3回チェックして、データベースにレコードがあります" *テストされたデータベースまたは開発データベースは、デフォルトでは一般的にデータベースとデザインが異なるため、チェックされています。 – engineersmnky
いいえ、ありません。しかし、私は要求されたレコードが存在するかどうかを調べたたとえば、私はデバッガを追加しました。「request.slug」を使用すると「管理」が返され、サーバーDBのテストに入り、スラッグ「管理」のレコードが見つかりました。レコードが存在する。 –