Remova a seguinte linha em
class Patient
:attr_accessor :name, :pID
O que aconteceu foi que attr_accessor foi substituído os dois atributos de coluna do banco de dados
:name
e :pID
(que foram gerados automaticamente) com seu próprio, resultando em dois atributos virtuais, :name
e :pID
. Assim, os atributos virtuais estavam sendo definidos e validados em vez dos atributos de banco de dados correspondentes, o que resultou em nenhum erro, mas com valores nulos no banco de dados.