2
  it "should submit form", :driver => :webkit do
    visit '/things/new'
    page.should have_content('Login')
    fill_in 'user_login', with: @thing.email
    fill_in 'user_comment', with: @thing.comment
    click_button 'log_in'
    save_and_open_page
    page.should have_content('Thanks!')  
  end

ブラウザの応答 [内部サーバー エラー]:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

things_controller または things/_form の何かが予想外に nil であると推測していますが、それが何であるかを特定できないようです。ページは開発中に正常に動作します (データが入力されたデータベースを使用)

より有意義なフィードバックを得る方法はありますか?

または私は間違った方向に進んでいますか?

4

2 に答える 2

3

できることがいくつかあります。

  • logs/test.log を調べます
  • 気まぐれなニルを無効にして、実際のスタックトレースがポップアップするかどうかを確認します
  • デバッガーやこじ開けのようなイントロスペクションを使用する

またはハンマー法:

  • コードに一連の puts/Rails.logger.debug ステートメントを入れます
于 2012-06-26T18:06:38.277 に答える
0

create関数がcreatedfオブジェクトIDを手動で設定していないこと、およびそのオブジェクトへの関係がフィールドに適切に入力されていることを確認してください。

つまり、これらをチェックするテストを書きます。

異なるデータベースタイプを使用していますか?

于 2012-06-26T18:12:10.960 に答える