sql >> データベース >  >> RDS >> Mysql

ActiveModel ::MissingAttributeError:不明な属性`user_id`を書き込めません

    user_idを追加する代わりに、間違った移行が行われています commentsusers.commedを追加します 。

    おっとっと。それは私たちの最善を尽くして起こる可能性があります。

    それでは、最初にこの間違いをクリーンアップするための移行を作成しましょう:

    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回のスイープでインデックスと外部キーを作成します。




    1. AppEngineからのGoogleCloudSQLの接続制限と、DB接続を最適に再利用する方法を教えてください。

    2. mysqlnodejsのIN句

    3. Group byを使用して、重複していない複数の行を一度に更新するには

    4. いずれかの列がNULLかどうかを確認する簡単な方法はありますか?