Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

ActiveModel::MissingAttributeError:tidak dapat menulis atribut `user_id` yang tidak dikenal

Anda melakukan migrasi yang salah - alih-alih menambahkan user_id untuk comments Anda menambahkan users.commed .

Ups. Itu bisa terjadi pada yang terbaik dari kita.

Jadi pertama-tama mari kita buat migrasi untuk membersihkan kesalahan ini:

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

Tentu saja jika Aplikasi belum digunakan, Anda dapat menghapus migrasi yang melanggar dan menjalankan rake db:reset

Jadi mari kita buat migrasi yang benar

rails g migration AddUserToComments user:belongs_to

Yang menghasilkan migrasi berikut:

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

add_reference membuat indeks dan kunci asing dalam satu sapuan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara memeriksa apakah permintaan mysql tidak mengembalikan hasil (catatan tidak ditemukan) menggunakan php?

  2. bagaimana cara mengubah gaya CSS secara dinamis menggunakan php/Mysql..i ingin membuat tema yang unik untuk setiap pengguna?

  3. Standar / konvensi nama kolom MySQL

  4. Bagaimana mengatasi InnoDB:Tidak dapat mengunci kesalahan ./ibdata1 mysql?

  5. sql bergabung dengan dua tabel