【发布时间】:2017-07-07 15:55:57
【问题描述】:
我当前的代码如下所示:
/spec/support/spec_test_helper.rb
module SpecTestHelper
def login_admin
user = FactoryGirl.create(:user, type: 0)
session[:user_id] = user.id
end
end
/app/controllers/application_controller.rb
def current_user
if session[:user_id].nil?
render plain: 'Error', status: :unauthorized
else
@current_user ||= User.find(session[:user_id])
end
end
不幸的是,在 current_user 方法中 session 总是空的。有没有办法通过 RSpec 控制会话?
【问题讨论】:
-
功能规格或控制器规格?
-
你如何/在哪里打电话给
login_admin? -
在banners_controller_spec中,在它“...”做块
-
奇怪的是你不必做任何其他事情。 (github.com/rails/rails/blob/…)
-
可能是我在 before_action 过滤器中进行检查?
标签: ruby-on-rails ruby session rspec