Ich habe eine Ruby on Rails JSON API mit Knock für JWT Authentification.Ruby on Rails API - Erstellung von Datenbankobjekten gibt nur Objekte mit leeren Werten zurück
Das Modell Benutzer sieht wie folgt aus:
class User < ApplicationRecord
attr_accessor :email, :password, :password_digest
has_secure_password
end
Und die Migration:
class CreateUsers < ActiveRecord::Migration[5.1]
def change
create_table :users do |t|
t.string :email
t.string :password
t.string :password_digest
t.timestamps
end
end
end
Es mit rüsteten CRUD-Methoden auch ein Benutzer-Controller ist. So generieren Sie JWT, verwende ich die folgenden Controller, der von der Knock geerbt :: AuthTokenController:
class UserTokenController < Knock::AuthTokenController
end
Allerdings, wenn ich erzeugen einen Benutzer mit der Konsole so ...
User.create(:email => '[email protected]', :password => 'test', :password_digest => 'test')
. .. ich ein Datenbankobjekt mit leeren Werten erhalten:
try 'User.create (E-Mail: ...)' um den Fehler zu erhöhen –
Nein, die einen Fehler nicht erhöhen. Es ist das gleiche wie auf dem Bild, das Objekt wird mit leeren Werten erstellt :( – mfaorlkzus
Wenn Sie 'ActiveRecord' verwenden, entfernen Sie 'attr_accessor'. Sie brauchen es nicht und es kann diese Art von Problemen verursachen –