Ich habe einen einfachen Controller-Test auf den Rails basiert 4 docs (mit Test :: Unit):Rails 4 Controller-Test "nicht definierte Methode Permit"
test "should create user" do
assert_difference('User.count') do
post :create, user: users(:sample_user)
end
assert_redirected_to user_path(assigns(:user))
end
Und trotz der tatsächlichen Benutzer gerade fein erstellt wird, der Test fehlschlägt, sagen:
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:increate' test/controllers/users_controller_test.rb:11:in
block (2 levels) in ' test/controllers/users_controller_test.rb:10:in `block in '
Aus irgendeinem Grund wird der Test nicht die neuen Rails 4 permit
Methode zu erkennen. Im Moment habe ich die user_params
als private Methode in der Steuerung. Aber ich habe versucht, es auf die tatsächliche create
Aktion zu verschieben und erhielt den gleichen Fehler. Die Benutzererstellung ist ebenfalls 100% Standard (nichts Verrücktes - genau wie die Rails-Dokumentation).
Weiß jemand, wie ich diesen Test umschreiben oder anderweitig machen kann?
Danke, ich benutzte eine Halterung und das war das Problem. Das Hinzufügen von .attributes war die Lösung! – Justin