2016-12-23 6 views
0

私は追加フィールドを含む登録のためのデバイスモデルを使用しています。ActiveRecordは特定のフィールドを取得しません

これは私のユーザー・テーブル・スキーマである

create_table "users", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| 
    t.string "provider",        default: "email", null: false 
    t.string "uid",         default: "",  null: false 
    t.string "encrypted_password",     default: "",  null: false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",      default: 0,  null: false 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.string "current_sign_in_ip" 
    t.string "last_sign_in_ip" 
    t.string "confirmation_token" 
    t.datetime "confirmed_at" 
    t.datetime "confirmation_sent_at" 
    t.string "unconfirmed_email" 
    t.string "username",            null: false 
    t.string "email",             null: false 
    t.integer "role",         default: 0,  null: false 
    t.datetime "premium_expires_at" 
    t.string "token",        default: "",  null: false 
    t.text  "tokens",     limit: 65535 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    t.string "avatar" 
    t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree 
    t.index ["email"], name: "index_users_on_email", unique: true, using: :btree 
    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree 
    t.index ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true, using: :btree 
    t.index ["username"], name: "index_users_on_username", unique: true, using: :btree 
    end 

のActiveRecord(Userモデル)を介してテーブルを照会するときしかし、私が考案に属する特定の列を取得することはできませんよ。

userList = User.select("id, confirmation_token, confirmed_at, username, uid, role") 

ログUSERLISTは私

#<ActiveRecord::Relation [#<User id: 1, uid: "[email protected]", username: "bowie", role: "admin", avatar: nil>, #<User id: 2, uid: "[email protected]", username: "wilson", role: "user", avatar: nil>, #<User id: 3, uid: "[email protected]", username: "Cartman", role: "user", avatar: nil>]> 

に検索されるイマイチconfirmation_tokenフィールドとconfirmed_atトークン・フィールドを提供します。私は何かしなければならない何か他にありますか?

+0

'puts userList.confirmation_token'または' puts userList.confirmed_at'は何を出力しますか? – 31piy

+0

hmm ..私は実際にuser.confirmation_tokenとして配列をループするときに値を取得することができます。しかし、それでも配列の一部ではないようです。もっと値 – Kannaj

答えて

2

Authenticatableモジュールをdeviseから見てください。彼らは特に、シリアル化のためにこれらの属性をブラックリストに載せています(BLACKLIST_FOR_SERIALIZATION定数参照)。だから、私はあなたがコンソールでそれらを見ることができない理由だと思う。

+0

を取得するメソッドのように、これはおそらくそれです。ありがとうございました – Kannaj

関連する問題