PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Das Array wird nicht in der Datenbank gespeichert

In Ihren starken Parametern müssen Sie :vehicles zulassen Attribut als Array, etwa so:vehicles: []

Ich bin mir nicht sicher, welche Version von Devise Sie verwenden, zeichne aber aus ihrer Dokumentation , im Abschnitt "starke Parameter" könnten Sie vehicles zulassen so im Application Controller:

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

Auch wenn Sie die Postgres-Datenbank verwenden, empfehle ich, Ihre vehicles einzurichten -Attribut, um ein Array direkt in der Datenbank zu erhalten. Sie können dies mit einer Migration wie dieser tun:

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