sql >> Database >  >> RDS >> Mysql

ActiveModel::MissingAttributeError:kan onbekend kenmerk `user_id` niet schrijven

U heeft de verkeerde migratie - in plaats van een user_id toe te voegen naar comments je voegt users.commed . toe .

Oeps. Het kan de beste van ons overkomen.

Laten we dus eerst een migratie maken om deze fout op te ruimen:

class RemoveCommedFromUsers < ActiveRecord::Migration
  def change
    remove_column :users, :commed # will also remove the index
  end
end

Als de app niet is geïmplementeerd, kunt u natuurlijk de gewraakte migratie verwijderen en rake db:reset uitvoeren.

Dus laten we de juiste migratie maken

rails g migration AddUserToComments user:belongs_to

Wat de volgende migratie genereert:

class AddUserToComments < ActiveRecord::Migration
  def change
    add_reference :comments, :user, index: true
  end
end

add_reference creëert een index en een externe sleutel in één keer.




  1. Hibernate Query-probleem met Informix

  2. Mysql_*-functies vervangen door PDO en voorbereide instructies

  3. Meerdere zoekopdrachten in één api

  4. Beperking toevoegen om kolom uniek te maken per groep rijen