由于某种原因,我无法让设计辅助方法sign_in工作。 current_user 一直为空。知道问题出在哪里吗?
Test:
before :each do
@user = FactoryGirl.create :user
sign_in @user
end
describe "GET index" do
it "assigns all subscribers as @subscribers" do
subscriber = @user.subscribers.create! valid_attributes
get :index
assigns(:subscribers).should eq([subscriber])
end
end
执行:
def index
@subscribers = current_user.subscribers.all <------- ERROR
respond_to do |format|
format.html # index.html.erb
format.json { render json: @subscribers }
end
end
Error:
NoMethodError:
undefined method `subscribers' for nil:NilClass
任何帮助表示赞赏。谢谢!
如果您包括Confirmable
模块在你的User
模型(或其他可验证的模型),然后进行测试@user
您创建的内容必须经过确认sign_in
生效:
before :each do
@user = FactoryGirl.create :user
@user.confirm!
sign_in @user
end
(我发现这不是您的问题,但也许其他读者会从中受益。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)