Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ActiveModel ::MissingAttributeError:không thể ghi thuộc tính không xác định `user_id`

Bạn di chuyển sai - thay vì thêm user_id tới comments bạn thêm users.commed .

Ối. Điều đó có thể xảy ra với những người tốt nhất trong chúng ta.

Vì vậy, trước tiên, hãy tạo một quá trình di chuyển để xóa lỗi này:

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

Tất nhiên nếu Ứng dụng chưa được triển khai, bạn chỉ có thể xóa phần di chuyển vi phạm và chạy rake db:reset

Vì vậy, hãy tạo sự di chuyển chính xác

rails g migration AddUserToComments user:belongs_to

Điều này tạo ra sự di chuyển sau:

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

add_reference tạo chỉ mục và khóa ngoại trong một lần quét.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. REPLACE không phân biệt chữ hoa chữ thường trong MySQL?

  2. MySql SELECT liên minh cho các cột khác nhau?

  3. Kết nối với MySQL từ R

  4. Tìm kiếm / tìm kiếm các giá trị bị thiếu trong MySQL

  5. Sự cố với MySQL LOAD XML INFILE