0

私は現在、Rails チュートリアル (ベータ版) のセクション 10.3.2を使用しており、RSpec でいくつかの問題に遭遇しました。

rspec spec/ runs完全に、ただしrspec spec/requests/micropost_pages_spec.rb、チュートリアルで説明されているようにすると、次のエラーが発生します。

Failures:

  1) Micropost pages micropost creation with invalid information should not create a micropost
     Failure/Error: before { visit root_path }
     ActionView::Template::Error:
       undefined method `model_name' for NilClass:Class
     # ./app/views/shared/_micropost_form.html.erb:1:in `_app_views_shared__micropost_form_html_erb__567210303736562711_70234980477780'
     # ./app/views/static_pages/home.html.erb:8:in `_app_views_static_pages_home_html_erb___61006871036382679_70234970424160'
     # ./spec/requests/micropost_pages_spec.rb:11:in `block (3 levels) in <top (required)>'

Web ブラウザーで手動でテストを実行しても、問題なく動作するようです。

私が何か間違ったことをしたのか、それともチュートリアルに「バグ」があるのか​​ わかりません。誰でもヒントを与えることができますか?


更新 1: GitHub のプロジェクト全体へのリンクは次のとおりです。


更新 2:rails serverを再起動すると、最初にページにアクセスしたときにもエラーが発生することがわかりました。しかし、ページをもう一度読み込む (リロード) と、完全に機能します。

4

1 に答える 1

0

問題が見つかりました。むしろ愚かな間違い。私static_pages_controller.rbが持っていた

  def home
    def home
      @micropost = current_user.microposts.build if signed_in?
    end
  end

とにかくヒントをありがとう。

于 2012-04-09T16:24:25.390 に答える