я собираюсь через Руби учебник Майкла Hartl и застрял в течение дня на неисправное испытаниеошибка NoMethodError в Rails
Я получаю это когда я бег:
Error:
UsersControllerTest#test_should_redirect_edit_when_logged_in_as_wrong_user:
NoMethodError: undefined method `session' for nil:NilClass
test/test_helper.rb:19:in `log_in_as'
test/controllers/users_controller_test.rb:37:in `block in <class:UsersControllerTest>'
Вот код вызова :
require 'test_helper'
class UsersControllerTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
@otheruser = users(:archer)
end
test "should redirect update when logged in as wrong user" do
log_in_as(@other_user)
patch user_path(@user), params: { user: { name: @user.name,
email: @user.email } }
assert flash.empty?
assert_redirected_to root_url
end
*And here is the method I'm trying to call from the **test_helper** class:*
# Log in as a particular user
def log_in_as(user)
session[:user_id] = user.id
end
Хороший совет, который я недавно получил от разработчика направляющих - когда застрял, пройдите через код с помощью «рельсов c» (командная строка рельсов). Удачи! –