Ошибка теста с: создать метод - PullRequest
0 голосов
/ 15 сентября 2011

Все утверждения проходят, но я получаю сообщение об ошибке:

1) Ошибка:

test_should_perform_user_login(SessionsControllerTest):
NameError: undefined local variable or method `create' for StoriesController:Class

Вот код теста:

def test_should_perform_user_login                                                                                                    
  post :create, :login => 'patrick', :password => 'sekrit'                                                                            
  assert_redirected_to stories_path                                                                                                   
  assert_equal users(:patrick).id, session[:user_id]                                                                                  
  assert_equal users(:patrick), assigns(:current_user)  
end

Вот где я определяю метод создания в `session_controller.rb:

def create
    @current_user = User.find_by_login_and_password(params[:login], params[:password])

    if @current_user
        session[:user_id] = @current_user.id
        if session[:return_to]
            redirect_to session[:return_to]
            session[:return_to] = nil
        else
            redirect_to stories_path
        end
    else
        render :action => 'new'
    end
end

это помогает?

Я читаю книгу '1014 * Просто Rails 2 .

1 Ответ

0 голосов
/ 17 сентября 2011

Исправлена ​​самая большая ошибка.

NameError: undefined local variable or method `create' for StoriesController:Class

Это происходит из вызова before_filter, когда вы оставили : (двоеточие) из массива символов метода.

Следующая ошибкабыл в application.rb;его ошибка была:

NameError: undefined local variable or method `redirect_to_new_session_path'

Между методом redirect_to и его аргументом стоит дополнительное подчеркивание new_session_path.

Далее был фиктивный селектор в тесте магазинов.Последнее я оставляю как упражнение для читателя :) (Подсказка: есть две проблемы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...