2012-04-09 8 views
0

私は現在、Railsチュートリアル(ベータ版)のsection 10.3.2にあり、RSpecにいくつかの問題がありました。チュートリアルで説明したように、私はrspec spec/requests/micropost_pages_spec.rbをすれば完璧Railsチュートリアル - 変なRSpecの動作

rspec spec/ runsは、しかし、私は次のエラーを取得する:

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ブラウザで手動テストを実行するだけでなく完璧に動作するようです。

私は何か問題があったか、チュートリアルに「バグ」があるかどうかはわかりません。誰もヒントを与えることができますか?


UPDATE 1:はここwhole project on GitHubへのリンクです。


UPDATE 2:私は今、私はrails serverを再起動したときに、私はページを最初に打ったとき、私は、あまりにも、エラーが出ることが分かりました。しかし、ページを2度読み込むと(リロード)、完全に動作します。

+2

spec_helper、影響を受けるスペック、コントローラ、およびビューを[gist](https://gist.github.com/)にお願いしますか? ) – Mailo

+0

ここにあります:https://github.com/znq/sample_app/tree/396d503d52b437790859917ce710c1aa59d3a426 – znq

+1

あなたは '<%= render 'shared/micropost_form'%>'を変更できますか? _micropost_form.htmlに 'form_for(micropost)'を使用すると、home.html.erbの '<%= render:partial =>" shared/micropost_form "、:locals => {:micropost => @micropost} .erb? – DanS

答えて

0

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

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

とにかくヒントのためにありがとう。

関連する問題