2017-10-23 24 views
3

私はエラーにMysql2 ::エラー:不明列Railsの

Mysql2::Error : Unknown column 'request.user_id' in 'on clause': SELECT requests .* FROM requests LEFT OUTER JOIN users ON users . id = requests . user_id

class Request < ApplicationRecord 
    belongs_to :user 
end 

に遭遇した私が間違っているかわからないが、私はすでにスキーマすくいデシベルを変更した:それはまだである理由REQ_IDに改名のuser_idを移行します更新されたスキーマで指定されたreq_idではなくuser_idが取得されます。

Schema.rb

t.index ["req_id"], name: "index_notifications_on_from_id" 
+0

belongs_to :user 

でなければなりません。 – cnnr

+0

@cnnr rake:db migrateとタイプして、スキーマのuser_idをreq_idに変更しました。 – John

+0

名前を変更したまま、 'db/migrate'フォルダに移行しましたか? – cnnr

答えて

1

誤植?それはあまりにもあなたの名前の変更の移行コードを追加しますsの

+0

私は、 'User'という名前のアソシエーションに 'Request'を参加できないというエラーを追加しました。おそらくあなたはそれを間違って綴ったでしょうか? – John

+2

2)user_idからreq_idに移動しますか?なぜ地獄? :Dとにかく、その場合は 'belongs_to:user、foreign_key :: req_id'を使うべきです – Ursus

関連する問題