SORU
12 EYLÜL 2008, Cuma


Activerecord kaydı çoğaltmak için en kolay yolu nedir?

Activerecord kaydının bir kopyasını, bu süreçte tek bir alan (ek olarak . değiştirmeden yapmak istiyorum ^strong>ıd). Bunu yapmanın en kolay yolu nedir?

Yeni bir kayıt oluşturmak ve bu alanların her biri üzerinde yineleme kopyalama veri alan olabileceğimi fark ettim - ama bunu yapmanın daha kolay bir yolu olmalı diye düşündüm...

gibi:

 @newrecord=Record.copy(:id)  *perhaps?*

CEVAP
12 EYLÜL 2008, Cuma


Bir kopyasını almak için, (ya da dup 3.1 raylar) klonlama yöntemi kullanın:

# rails < 3.1
new_record = old_record.clone

#rails >= 3.1
new_record = old_record.dup

Daha sonra istediğiniz herhangi bir şekilde değiştirebilirsiniz.

Atanmamış bir KİMLİK (DB kayıtlı) yeni bir kayıt vermek ActiveRecord overrides the built-in Object#clone.
Eğer gerekiyorsa bunu el ile yapmak zorundasınız dernekler kopyası, bunu unutmayın.

Rails 3.1 clone is a shallow copy, use dup instead...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Mr. H

    Mr. H

    1 Temmuz 2012