Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ActiveModel::MissingAttributeError:अज्ञात विशेषता `user_id` . नहीं लिख सकता

आपके पास गलत माइग्रेशन है - user_id . जोड़ने के बजाय comments . के लिए आप users.commed add जोड़ें .

उफ़। यह हममें से सर्वश्रेष्ठ के साथ हो सकता है।

तो आइए पहले इस गलती को दूर करने के लिए एक माइग्रेशन बनाएं:

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

बेशक अगर ऐप को तैनात नहीं किया गया है तो आप केवल आपत्तिजनक माइग्रेशन को हटा सकते हैं और rake db:reset चला सकते हैं।

तो चलिए सही माइग्रेशन बनाते हैं

rails g migration AddUserToComments user:belongs_to

जो निम्न माइग्रेशन उत्पन्न करता है:

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

add_reference एक स्वीप में एक इंडेक्स और एक विदेशी कुंजी बनाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql और asp.net पहचान

  2. जानबूझकर लंबे समय तक चलने वाली MySQL क्वेरी कैसे बनाएं

  3. MyISAM InnoDB की तुलना में कितना तेज़ है?

  4. ऑटो-इन्क्रीमेंट के साथ mysql दो कॉलम प्राथमिक कुंजी

  5. MySQL आरक्षण प्रणाली में मुफ्त कमरों की तलाश में है