-1
У меня есть следующий тест:Получение ошибки «symbolize_keys» в единичном испытании
test "vote for candidate" do
get :vote, @candidate[:id]
assert_equals(1, @candidate.votes.count)
end
Вот метод, который я пытаюсь тест:
def vote
@candidate = Candidate.find(params[:id])
@candidate.votes.create
redirect_to(candidates_path)
end
я получаю эту ошибку:
CandidatesControllerTest#test_vote_for_candidate:
NoMethodError: undefined method `symbolize_keys' for "358247726":String
test/controllers/candidates_controller_test.rb:35:in `block in <class:CandidatesControllerTest>'
Любой толчок в правильном направлении будет большой помощью.
Что в '@ candidate'? Для того чтобы '@candidate [: id]' был прав, он должен быть «хэш». – sebkkom
@sebkomianos Похоже, @candidate является экземпляром модели ActiveRecord. Если я помню, модели ActiveRecord реализуют '# []'. –
@WayneConrad Вы правы, мой плохой! Я закончил свой комментарий и ответ Симоны. :) – sebkkom