2010-11-20 24 views
0

Bu soruna, getsatisfaction.com adresinde listelenmiş, ancak geçici çözümü anlamadım. fabrika uygun kullanıcının düzenleme sayfasını erişen uygunsuz kullanıcıyı taklit etmek için uygunsuz bir kullanıcı ve uygun kullanıcıyı hem yaratmak olmadığı için Bölüm 10.13, iki birim sınaması, açıklama olmadan başarısız olur

http://getsatisfaction.com/railstutorial/topics/listing_10_15_causes_user_validation_failure_running_rspec

Bu kod users_controller_spec.rb içinde nedense başarısız ve belki de açıklanmıştır: (10,13)

describe "for signed-in users" do 

     before(:each) do 
     wrong_user = Factory(:user, :email => "[email protected]") 
     test_sign_in(wrong_user) 
     end 

     it "should require matching users for 'edit'" do 
     get :edit, :id => @user 
     response.should redirect_to(root_path) 
     end 

     it "should require matching users for 'update'" do 
     put :update, :id => @user, :user => {} 
     response.should redirect_to(root_path) 
     end 

Ben aşağıdaki hatalar RSpec çalışır duruma:

Failures: 
    1) UsersController authentication of edit/update pages for signed-in users should require matching users for 'edit' 
    Failure/Error: get :edit, :id => @user 
    No route matches {:id=>nil, :controller=>"users", :action=>"edit"} 
    # ./spec/controllers/users_controller_spec.rb:223:in `block (4 levels) in <top (required)>' 

    2) UsersController authentication of edit/update pages for signed-in users should require matching users for 'update' 
    Failure/Error: put :update, :id => @user, :user => {} 
    No route matches {:id=>nil, :user=>{}, :controller=>"users", :action=>"update"} 
    # ./spec/controllers/users_controller_spec.rb:228:in `block (4 levels) in <top (required)>' 

cevap

0

, bir açıklama sağlar: id sağlanmış olan yollar oluşturmaya çalışıyor. @user'un gerçek bir kullanıcı içerdiğinden emin misiniz?

+0

Sanırım bunu düzeltmeyi başardım. Kullanıcılar test bloğunun "oturum açmış kullanıcılar için" "düzenleme/güncelleme sayfalarının kimlik doğrulaması" bölümü altına yerleştirilmemem hatamdı. Bu testler için kullanıcı_controller_spec.rb – ajcbowhill

+0

@ useruser oluşturulmadı. Cevabın için teşekkürler! – ajcbowhill

İlgili konular