PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Tablica nie jest utrwalana w bazie danych

W swoich mocnych parametrach będziesz musiał zezwolić na :vehicles atrybut jako tablicę, tak jak to:vehicles: []

Nie jestem pewien, jakiej wersji Devise używasz, ale czerpię z ich dokumentacji , w sekcji „silne parametry” możesz zezwolić na vehicles tak w kontrolerze aplikacji:

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

Również jeśli korzystasz z bazy danych Postgres, zalecam skonfigurowanie vehicles atrybut, aby otrzymać tablicę bezpośrednio w bazie danych. Możesz to zrobić za pomocą migracji w ten sposób:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie wartości parametrów dla schematu i tabeli w Postgresql

  2. Jak używać Joda-Time z java.sql.Timestamp

  3. Alternatywy dla uszkodzonego PL/ruby:przekonwertuj tabelę dziennika magazynowego

  4. Błąd upsert (w przypadku aktualizacji konfliktu) wskazujący na zduplikowane ograniczone wartości

  5. Rozplątanie aktualizacji PostgreSQL