find_or_create ile accepts_nested_attributes_for? | Netgez.com
SORU
26 AÄžUSTOS 2010, PERÅžEMBE


find_or_create ile accepts_nested_attributes_for?

Kullanıyorum Raylar büyük bir başarı ile' accepts_nested_attributes_for yöntem, ama bu nasıl olacak bendeğileğer bir kayıt varsa yeni kayıt oluşturmak?

Örnek: arada

Üç modelleri, Takım, Üyelik ve Oyuncu ve her takım üyelikleri ile oyuncular has_many var ki, oyuncu birçok takım ait olabilir. Takımı modeli, daha sonra oyuncular birbirinin içine geçmiş öznitelikleri kabul olabilir, ama her oyuncu birlikte takım oyuncu(lar) ile gönderilen yeni oyuncu kayıt olarak oluşturulur formu anlamına gelir.

Nasıl olursa eğer zaten aynı ada sahip bir oyuncu değil eğer yok sadece yeni oyuncu kaydını bu şekilde oluşturmak istiyorum şeyler yapıyor hakkında gitmek gerekir? Varsaaynı ada sahip bir oyuncu, yeni oyuncu kayıtları oluşturulmalıdır, ancak bunun yerine doğru oyuncuyu buldu ve yeni bir takım kaydı ile ilişkilendirilmiş olması gerekir.

CEVAP
26 AÄžUSTOS 2010, PERÅžEMBE


Size otomatik kaydetme dernekler için bir kanca tanımlarken, normal kod yolu atlanır ve Yöntem yerine denir. Böylece, bunu yapabilirsiniz:

class Post < ActiveRecord::Base
  belongs_to :author, :autosave => true
  accepts_nested_attributes_for :author

  # If you need to validate the associated record, you can add a method like this:
  #     validate_associated_record_for_author
  def autosave_associated_records_for_author
    # Find or create the author by name
    if new_author = Author.find_by_name(author.name)
      self.author = new_author
    else
      self.author.save!
    end
  end
end

Bu kod denenmemiş, ama en çok ihtiyacın olan şey olmalı.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • hidetake takayama

    hidetake tak

    3 Mart 2009

İLGİLİ SORU / CEVAPLAR