Ich habe ein devise ModellDevise versteckte Felder
Migration ist:
t.string :provider, null: false, default: "email"
t.string :uid, null: false, default: ""
## Database authenticatable
t.string :encrypted_password, null: false, default: ""
## Recoverable
t.string :reset_password_token
t.datetime :reset_password_sent_at
# etc...
Wenn ich rails c
und Art tun User
ich dort eine riesige Liste ihrer Spalten
User(id: integer, provider: string, uid: string, encrypted_password:
string, reset_password_token: string, reset_password_sent_at: datetime,
remember_created_at: datetime, sign_in_count: integer,
current_sign_in_at: datetime, last_sign_in_at: datetime,
current_sign_in_ip: string, last_sign_in_ip: string,
confirmation_token: string, confirmed_at: datetime,
confirmation_sent_at: datetime, unconfirmed_email: string...
bekommen Aber wenn Ich tippe u = User.find(1)
. Es hat nur einige Spalten id, provider, uid, created_at, updated_at
.
Wenn ich u.to_json
mache, bekomme ich {"id":1,"provider":"email","uid":"[email protected]","name":"Name","surname":"Surname","email":"[email protected]","created_at":"2016-08-07T18:27:24.186Z","updated_at":"2016-08-07T18:34:48.647Z"}
.
Es ignoriert Felder wie confirmed_at
, confirmation_sent_at
etc ...
Also, ich möchte ein paar mehr "versteckt" Spalten in meinem Modell hinzuzufügen. Wie mache ich es?
Danke!
Ich habe diese Felder in meiner Datenbank. Und ich kann mit 'User.find (1) .confirmation_token' darauf zugreifen. Aber wenn ich 'User.find (1) .to_json' tue, ignoriert es diese Felder. Btw, ich benutze Rails 5.0 –
Ich denke, das ist ein Bug zwischen Devise und Rails 5 ... –
Dies ist kein Fehler, das ist eine Funktion in Rails 5, ich denke, sie speichern etwas wie 'Serializator', die ignoriert diese Felder. Und ich bin gespannt wie sie es machen :) –