ActiveRecord, :dependent => :destroy

Cześć,

Mam tabelkę klient (has_many :leds) i tabelkę ekran/telewizor (belongs_to :client).

Obecnie używam czegoś takiego w modelu Client:

Client AR has_many :leds, :dependent => :destroy
Tyle, że potrzebuję aby w tabelce leds, w kluczu obcym pojawił mi się np. NULL po usunięciu klienta, obecnie usuwa mi wszystkie ekrany podpięte pod klienta.Telewizor może zmienić właściciela. :stuck_out_tongue_winking_eye:
Próbowałem z :delete_all i to samo jest, przypuszczam, że mam relacje nienajlepsze.

Pozdrawiam. (;

Zamiast :destroy użyj :nullify. http://railsapi.com/doc/rails-v3.0.4/ -> has_many

Rany boskie, czytałem tam i jakoś to pominąłem. ;/

Odpowiedź

Client AR has_many :leds, :dependent => :nullify
Dzięki.