0

deviseを使用したカスタムサインアップフォーム用の非常にシンプルなカピバラスクリプトがあります。

  scenario "allow me to register and should take me to the new partner page" do
    visit '/registrations/become_partner'
    response.should be_success
  end

テストを実行しようとすると、次のエラーが発生します。

     ActionView::Template::Error:
       undefined method `first_name' for #<User:0x00000004d259e8>

このメソッドが定義されていても。モデルにattr_accesibleセットがあり、ページがレンダリングされ、レールコンソールからこのメソッドを呼び出すことができます。他の場所で問題がないのに、なぜカピバラがこのエラーをスローするのですか?

4

1 に答える 1

2

テスト環境はその属性をまだ認識していないようです。つまり、明らかにfirst_name開発環境にフィールドを追加しましたが、テスト環境にはまだ追加していません。

テスト環境を更新するには、実行するだけです

rake db:test:prepare

そしてそれはうまくいくでしょう。移行を実行した後は常にこれを行う必要があります。これはよくあるエラーです。

于 2013-02-15T14:18:58.407 に答える