1

私は Rails アプリで作業してい:dependent => delete_allます。モデルの機能を認識しています。

以下の例を考えてみましょう

class TableA < ActiveRecord::Base 

    has_many :tablebs, :dependent => :delete_all

end


class TableB < ActiveRecord::Base 

    belongs_to :tablea

end

TableA を表す TableB に対応する外部キー参照がある場合、アクティブ レコードを使用して TableA のレコードを削除すると、TableB の対応するすべての行が削除されます。

ただし、TableB に対応する値がない場合は、次のように表示されます。

uninitialized constant TableA::TableB

私が達成しようとしているのは、アクティブ レコードは、存在する場合は依存値を削除し、依存値がない場合はステップを無視することです。

これは可能ですか?

ありがとう、バラン

4

1 に答える 1

0

belongs_to問題は、単数形のテーブルに関連している必要があるという事実だと思います。したがって、次のようにtableasforを変更tableaします。

また、このリンクを見て、 と の違いを確認する:delete_allことをお勧めします:destroy

class TableA < ActiveRecord::Base 
    has_many :tablebs, :dependent => :delete_all
end

class TableB < ActiveRecord::Base 
    belongs_to :tablea
end
于 2012-07-12T10:25:52.867 に答える