2013-09-26 2 views
6

나는 (테스트 : 단위 사용) 4 개 문서 레일을 기반으로 간단한 컨트롤러 검사를 어떤 이유레일 4 컨트롤러 테스트 "정의되지 않은 메서드 허가"

1) Error: UsersControllerTest#test_should_create_user: NoMethodError: undefined method permit' for "832959492":String app/controllers/users_controller.rb:23:in user_params' app/controllers/users_controller.rb:8:in create' test/controllers/users_controller_test.rb:11:in block (2 levels) in ' test/controllers/users_controller_test.rb:10:in `block in '

, 테스트가 새로운 레일 4 permit 방법을 인식하지 못합니다 : 테스트가 말하는 실패합니다. 지금은 user_params을 컨트롤러의 개인 메서드로 사용하고 있습니다. 그러나 실제 동작 인 create으로 옮겨 보았는데 동일한 오류가 발생했습니다. 사용자 생성 또한 100 % 표준입니다. (레일즈 오피스와 마찬가지로) 전혀 미치지 않습니다.

누구든지이 테스트를 다시 작성하거나 달리 수행 할 수있는 방법을 알고 있습니까?

답변

19

POST에있는 데이터는 너비가 create 인 것으로 보입니다. 경로는 속성의 해시 대신 단지 문자열입니다. users(:sample_user)은 무엇을 반환합니까? ID 또는 ActiveRecord 객체가 올바르게 직렬화되지 않았습니까? AR 인 경우 users(:sample_user).attributes을 페이로드로 보내야 할 수도 있습니다.

+2

고마워, 나는 조명기를 사용하고 있었고 이것이 문제였다. .attributes를 추가하는 것이 해결책이었습니다! – Justin

관련 문제