我正在使用devise_token_authentication
gem 构建基于令牌的身份验证 rails api,然后我添加了一些额外的字段来Vendor
通过不同的迁移进行建模,为了允许它们,我写了这个:
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:first_name, :last_name, :tax_number])
devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name, :tax_number])
end
end
然后我添加了另一个模型Customer
rails g devise_token_auth:install Customer auth
然后在 routes.rb
Rails.application.routes.draw do
mount_devise_token_auth_for 'Vendor', at: 'vendor/auth'
mount_devise_token_auth_for 'Customer', at: 'customer/auth'
end
每次我尝试sign_up
与客户联系时,都会'localhost:3000/customer/auth'
收到错误消息:ActiveModel::UnknownAttributeError: unknown attribute 'tax_number' for Customer.
那么有没有办法只允许Vendor
模型的额外字段并跳过“客户”?