ich durch Michael Hartl Ruby Tutorial werde und haben für einen Tag auf einem fehlerhaften TestNoMethodError Fehler in Rails
ich dieses stecken, als ich laufen:
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>'
Hier wird die Telefonvorwahl ist :
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
Ein guter Ratschlag, den ich vor kurzem von einem Rails-Entwickler bekommen habe - wenn er festgefahren ist, durchquere den Code mit "rails c" (die Rails-Kommandozeile). Viel Glück! –