Ich verwende Rails 5 und PostGres 9.5. Ich habe Probleme beim Senden eines Formulars, das einen Benutzer in meiner Datenbank erstellen soll. Ich habe dies in meinem Controller"ActiveModel :: ForbiddenAttributesError" erhalten, wenn ich versuche, meinen Benutzer zu erstellen
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = "You signed up successfully"
flash[:color]= "valid"
else
flash[:notice] = "Form is invalid"
flash[:color]= "invalid"
end
render "new"
end
und hier ist, wie meine Tabelle in meiner Postgres-Datenbank sieht ...
sims=> \d users;
Table "public.users"
Column | Type | Modifiers
--------------------+-----------------------------+----------------------------------------------------
id | integer | not null default nextval('users_id_seq'::regclass)
username | character varying |
email | character varying |
encrypted_password | character varying |
salt | character varying |
first_name | character varying |
last_name | character varying |
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null
Indexes:
"users_pkey" PRIMARY KEY, btree (id)
Aber meine Form mit den folgenden Parametern auf erteile ich den Fehler, wie Sie sehen können von meinen Protokollen ...
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"q4YmPjUhD5olnRRgCt/gUuCDrb0lt+EqOxpzXGdtGHBtkwPEYgyp12H8lF04FHpqrZRZCip1Mo8/tvGQinPpJg==", "user"=>{"username"=>”mysuername”, "email"=>”[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Signup"}
Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms)
ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError):
Es gibt keine weiteren Informationen in den Protokollen. Was muss ich noch tun, um mein Formular abschicken zu können?