2016-08-07 5 views
1

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!

Antwort

0

Haben Sie verschiedene Felder in Ihrer Datenbank? (condirmed_at, confirmation_send_at etc ..)

So etwas:

t.string :confirmation_token 
t.datetime :confirmed_at 
t.datetime :confirmation_sent_at 

und andere?

Überprüfen Sie Ihre Schemadatei (db/schema.rb)

+0

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 –

+0

Ich denke, das ist ein Bug zwischen Devise und Rails 5 ... –

+0

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 :) –

Verwandte Themen