2016-10-27 7 views
0

本とモデルのモデルを持つ5.0.0.1のアプリがあります。 生産と開発では、ページは期待通りに表示されます。book.author.name しかし、私のテストでは、book.authorは有効で、期待通りですが、book.author.nameはエラー "ActionView :: Template ::エラー:Nil:NilClassの定義されていないメソッド 'name'Rails 5(minitest)は、生産と開発とは異なるテスト値を扱います。

byebugを使用して、本のauthor_idが459301548に設定されていますが、そのIDの著者は見つかりませんでした。

エラーがテスト環境でのみ発生するように、minitestはどのように処理するのですか?

私は物事を動かし、@ booksで使用するためにさまざまな方法を試してみました。しかし、動作するように見えるのは、book.author.nameへの参照を削除することだけです。

エラーは、ログインしていないときに発生しますが、私はテストをチェックして取得できないことを確認する必要があります他の場合には。

答えて

0

これは違いがなぜ私は知らないが、私はから私のコントローラ内の変数の割り当てを変更する場合:

@books = Book.paginate(...)

へ:

@books = Book.all.paginate(...)

エラーがなくなります。 ページはまだ開発と生産のいずれかの正しい情報を示すようです。

関連する問題