PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

L'array non è persistente nel database

Nei tuoi parametri forti dovrai consentire il :vehicles attributo come un array, come questo:vehicles: []

Non sono sicuro di quale versione di Devise stai utilizzando, ma attingo dalla loro documentazione , nella sezione "parametri forti", potresti autorizzare vehicles come questo nel controller dell'applicazione:

def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:sign_up) do |student_params|
    student_params.permit({ vehicles: [] }, :email, :password, :password_confirmation)
  end
end

Inoltre, se stai utilizzando il database Postgres, ti consiglio di configurare i tuoi vehicles attributo per ricevere un array direttamente nel database. Puoi farlo con una migrazione come questa:

class AddArrayToStudents < ActiveRecord::Migration
  def change
    add_column :students, :vehicles, :string, array: true, default: []
  end
end