3

次のような呼び出しを使用してオブジェクトを破棄しようとしています

MyObject.destroy_all({:user_id => current_user.id, :item_type_id => params[:type_id], :item_id => params[:item_id]})

Rails はこれを SQL コマンドとして生成します。

User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
MyObject Load (0.2ms)  SELECT `my_objects`.* FROM `my_objects` WHERE `my_objects`.`user_id` = 1 AND `my_objects`.`item_type_id` = 3 AND `my_objects`.`item_id` = 9
(0.1ms)  BEGIN 
SQL (0.4ms)  DELETE FROM `my_objects` WHERE `my_objects`.`` = NULL

最後の SQL ステートメントがこのエラーを引き起こします (これは理にかなっています)

Mysql2::Error: Unknown column 'my_objects.' in 'where clause': DELETE FROM `my_objects` WHERE `my_objects`.`` = NULL

私は何か間違ったことをしていますか?

Rails 3.2.1 mysql2 0.3.11 mysql 5 (だと思います)

4

0 に答える 0