0

私はdevise_token_authenticationgemを使用してトークンベースの認証レール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「Customer」をスキップする方法はありますか?

4

1 に答える 1