Ich experimentiere mit einer Rails App - Ich benutze Devise für Benutzeranmeldung, und ich versuche, es einzurichten, so dass jedes Mal ein Benutzer erfolgreich anmeldet Ein bestimmter Eintrag wird automatisch in ein Modell mit der Bezeichnung reports
eingefügt.Rails - Auto-Formular senden auf Devise Login, undefined Methode `Erlaubnis '
In meiner Devise Sitzungssteuerung, ich habe folgende Maßnahmen zu einer erfolgreichen Benutzeranmeldung bezogen werden:
def create
self.resource = warden.authenticate!(auth_options)
sign_in(resource_name, resource)
yield resource if block_given?
respond_with resource, location: after_sign_in_path_for(resource)
end
def after_sign_in_path_for(resource)
Report.create(report_params({"comment" => "user logged in"}))
end
private
def report_params(params)
params.permit(:comment)
end
Also, wenn das nicht klar ist, was ich meine zu tun ist, um einen neuen Eintrag jedes Mal in reports
erstellen Ein Benutzer meldet sich an und dieser Eintrag liest immer "angemeldeter Benutzer".
Allerdings, wenn ich versuche, dies zu laufen ließe, erhalte ich folgende Fehlermeldung:
undefined method `permit' for {"comment"=>"user logged in"}:Hash
Ich weiß, dass diese genaue Operation ein bisschen sinnlos oder überflüssig erscheinen mag - wie gesagt, ich bin nur zu experimentieren, Aber wenn ich das richtig mache, kann es mir helfen, eine andere App neu zu strukturieren, an der ich gearbeitet habe (ich denke über JSONs anstelle dieses festen Eintrags nach).
Wenn jemand die Bedeutung dieses Fehlers erklären und mir helfen könnte, herauszufinden, was ich falsch mache (oder wenn dies der beste Weg ist, um eine solche Aufgabe zu erfüllen), würde das sehr geschätzt werden.