2012-07-27 38 views
0

我有Project控制器和rspec文件。我USIG current_user助手這樣:設計,未定義的局部變量或方法current_user

# projects_controller_spec.rb 

describe "user signed in" do 
    before(:each) { sign_in @user } 
    after(:each) { sign_out @user} 

    describe "GET index" do  
    it "assigns all projects as @projects" do 
     project = FactoryGirl.create(:project, :user => current_user) 
     get :index, {}, valid_session 
     assigns(:projects).should eq([project]) 
    end 
    end 
    ... 
end 

傭工sign_insign_out似乎工作正常,但心中已經對current_user得到了一個錯誤:

undefined local variable or method `current_user' 

什麼可能是一個問題,如何要解決這個問題?

回答

0

這很正常。你應該創建一個用戶實例。您可以使用讓這樣的:

# projects_controller_spec.rb 

describe "user signed in" do 

    let(:user) {FactoryGirl.create(:user)} 
    before(:each) { sign_in user } 
    after(:each) { sign_out user} 

    describe "GET index" do  
    it "assigns all projects as @projects" do 
     project = FactoryGirl.create(:project, :user => user) 
     get :index, {}, valid_session 
     assigns(:projects).should eq([project]) 
    end 
    end 
    ... 
end 

你知道的比CURRENT_USER是用戶...

你並不需要退出每個天賦後您的使用。

+0

我編輯了我的答案 – Dougui 2012-07-27 18:39:57

相關問題