Ruby on rails 自定义用户属性,带有Desive_token_auth
我已经使用rails/edge创建了一个新的API,我正在使用Desive生成一个用户模型Ruby on rails 自定义用户属性,带有Desive_token_auth,ruby-on-rails,devise,access-token,rails-api,Ruby On Rails,Devise,Access Token,Rails Api,我已经使用rails/edge创建了一个新的API,我正在使用Desive生成一个用户模型 我的问题是,在迁移并向用户模型添加新属性之后,如何在JSON响应中返回此属性,当前由Desive_token_auth生成?,如上面的评论所述。到目前为止,我最好的解决方案是创建一个单独的UserDetails模型,序列化该模型,然后在auth之后对其进行单独调用,以填充额外的用户数据 这看起来确实很好,因为它保持了身份验证的干净。这是允许设计模型(例如Usermodel)的自定义属性所需要的 class
我的问题是,在迁移并向用户模型添加新属性之后,如何在JSON响应中返回此属性,当前由Desive_token_auth生成?,如上面的评论所述。到目前为止,我最好的解决方案是创建一个单独的UserDetails模型,序列化该模型,然后在auth之后对其进行单独调用,以填充额外的用户数据
这看起来确实很好,因为它保持了身份验证的干净。这是允许设计模型(例如
User
model)的自定义属性所需要的
class ApplicationController
到目前为止,我的最佳解决方案是创建一个单独的UserDetails模型,序列化该模型,然后在auth之后对其进行单独调用,以填充额外的用户数据。这看起来确实很好,因为它保持了身份验证的干净性。它应该在JSON响应中返回,而不需要任何进一步的配置。我不知道会是什么情况。默认情况下,Desive向用户模型添加了很多JSON中也没有返回的内容。
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
# for user account creation i.e sign up
devise_parameter_sanitizer.permit(:sign_up, keys: [:first_name, :last_name])
# for user account update
# where bank_name and bank_account are nested attributes in the User model
devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name, bank_attributes: [:bank_name, :bank_account]])
end
end