Railsで失敗している既存のMySQLテーブルを更新しました。関連するコントローラーコードは次のとおりです。
on = ObjectName.find_by_object_id(params[:id])
if (on) #edit existing
if on.update_attributes(params[:param_type] => params[:value])
respond_to do |format|
...
end
ObjectNameモデルクラスには3つの値(object_id、other_id、およびprop1)があります。更新が発生すると、生成されたSQLは次のように出力されます。
UPDATE `objectname` SET `other_id` = 245 WHERE `objectname`.`` IS NULL
生成されたSQLのSET
部分は正しいです。WHERE
句がに設定されているのはなぜ.`` IS NULL
ですか?