我正在使用Devise,当我输入rails c
时,User.last
只显示id
,created_at
,updated_at
和{{1}即使有许多属性。为什么这样做?我可以控制它可以显示哪些默认属性吗?
答案 0 :(得分:3)
不通过API调用共享关键信息的安全功能,您可以控制它。
# app/models/user.rb
class User < ApplicationRecord
devise :database_authenticatable,...
...
protected
def serializable_hash(options = nil)
super(options).merge(reset_password_token) # you can keep adding attributes here that you wish to expose
end
end
您可以通过以下方式获取所有属性的列表:
User.new.attributes
另一个类似问题的完整答案: https://stackoverflow.com/a/41754974/7970365