当用户使用设备唱歌时,如何传递一个额外的参数?即使它不是用户可以



我想在用户注册时发送额外的值,并在使用Rails API中的设计和设计jwt创建记录之前做一些逻辑,我使用https://rubydoc.info/github/heartcombo/devise/main/Devise/ParameterSanitizer来允许附加参数

choice不是User表中的列。

application_controller

before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
attributes = [:choice]
devise_parameter_sanitizer.permit(:sign_up, keys: attributes)
devise_parameter_sanitizer.permit(:account_update, keys: attributes)
end

ActionDispatch::Http::Parameters::ParseError (Error occurred while parsing request parameters):

根据设计文档,您可以生成自定义设计控制器,因此您可以放置自己的逻辑。

https://github.com/heartcombo/devise开始

在我的例子中,我添加了一个名为" current_client_application_id ";到各自请求的params对象。为了知道如何做到这一点,我必须在那一行检查params对象,使用byebug进行调试。

#application_controller
before_action do
session[:current_client_application_id] = "1"
params[request["controller"].singularize]["client_application_id"] = session[:current_client_application_id] if params[request["controller"].singularize]
end

这样,&;current_client application_id&;在所有请求中都可用。

最新更新