0

スキーマを変更し、新しい多対多の関係を導入しました。ほとんどの記録は修正されていますが、「孤立」したままになっている記録を特定したいと思います。

これをコントローラーの 1 つのメソッドとして記述し、将来の使用に役立つ管理ツールになると思うので、ビューに表示するのが理想的です (ただし、今後のレコードは問題ないはずです)。

テーブル A が製品で、テーブル B がサプライヤーで、C が結合テーブルの場合、どのようにアプローチすればよいですか?

前もって感謝します。

4

1 に答える 1

1

個人的には試していませんが、以下のようなものがうまくいくかもしれません。率直ではない :P

孤立した製品があるかどうかを取得するには

products  = Product.find(:all, :include => :suppliers)
#for each products
# show the Product unless product.suppliers.any?

同じやり方で

suppliers  = Supplier.find(:all, :include=>:products)
#for each suppliers
# show the Supplier unless supplier.products.any?

これを試してみてください。家に帰ってから解決策を確認します:)

于 2012-08-24T10:44:58.153 に答える