sql >> Databasteknik >  >> RDS >> Mysql

ActiveModel::MissingAttributeError:kan inte skriva okänt attribut `user_id`

Du har fel migrering - istället för att lägga till ett user_id till comments du lägger till users.commed .

Hoppsan. Det kan hända de bästa av oss.

Så låt oss först skapa en migrering för att åtgärda detta misstag:

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

Om appen inte har distribuerats kan du naturligtvis bara ta bort den kränkande migreringen och köra rake db:reset

Så låt oss skapa rätt migrering

rails g migration AddUserToComments user:belongs_to

Vilket genererar följande migrering:

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

add_reference skapar ett index och en främmande nyckel i ett svep.




  1. Hur delar man efterfrågad data med avgränsare i Oracle?

  2. En översikt över genererade kolumner för PostgreSQL

  3. MySQL LOAD DATA INFILE butiksradnummer

  4. ListView-kontroll med Ms-Access TreeView