2013-09-26 24 views
6

Ben (Test :: Unit kullanarak) 4 docs Rails dayalı basit kontrolör testi nedenseRaylar 4 Denetleyici Testi "Tanımsız Yöntemi İzin Belgesi"

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 '

test yeni Raylar 4 permit yöntemi tanımıyor: Test söyleyerek başarısız olur. Şu anda, denetleyicide özel bir yöntem olarak user_params var. Ancak, onu gerçek create eylemine taşımaya çalıştım ve aynı hatayı aldım. Kullanıcı oluşturma da% 100 standarttır (Rails belgelerinde olduğu gibi).

Bu sınava nasıl yazabileceğimi veya başka bir şekilde nasıl yazabileceğimi bilen var mı?

cevap

19

POST yolunda create rotanıza yazılan veriler, özniteliklerin bir karşılığı yerine yalnızca bir dize gibi görünüyor. users(:sample_user) ne döndürüyor? Sadece bir ID veya doğru şekilde serileştirilmeyen bir ActiveRecord nesnesi mi? Eğer AR ise, belki users(:sample_user).attributes yükü olarak göndermelisiniz?

+2

Teşekkürler, bir fikstür kullanıyordum ve sorun buydu. .attributes eklemek çözüm oldu! – Justin