2017-05-04 3 views
5

私はStudentというモデルを持っています。それは別のモデルとのhabtm関係で、Groupです。次のコード:レールをアップグレードした後にRansack協会の検索を中断する

Student.ransack(groups_id_eq: 22839).result 

には、以下のSQLを生成します:それはこれが5

をレールにアップグレードする前に働いていた22839

NULLへの変換だと

SELECT "students".* FROM "students" 
LEFT OUTER JOIN "groups_students" ON "groups_students"."student_id" = "students"."id" 
LEFT OUTER JOIN "groups" ON "groups"."id" = "groups_students"."group_id" 
WHERE "groups"."id" = NULL 

通知は私が別のものを持っていますモデル、User、グループと同じhabtm関係です。私がStudent.ransack(groups_id_eq: 22839).resultを試してみると、それは動作し、目的のSQLを生成します。これはバグのように見えるんし、私はより包括的なgistissueを提出しました:二つのモデルの違いは、StudentUser

編集のに対し、UUID IDを持っているということです。

+1

この要点にはいくつかの問題があります。私はそれを実行しようとしましたが、デフォルト値のために 'students'テーブルを作成する際に失敗しました。 ARコールバックでuuidを生成するようにコードを変更しました。その後、コードは期待通りに機能します。テストは合格しており、生成されたSQLはOKです。 –

+0

要点を作成してここに入れることはできますか? –

+0

あなたは既に問題を解決したgithubの問題によると、それは本当ですか、あなたの質問はここでも有効ですか? – BoraMa

答えて

0

私はActiveRecord AliasTrackerにパッチを当てることで問題を解決しました。

詳しい説明は、gh issueを参照してください。

関連する問題