Birden fazla özelliği ile find_or_create raylar?
Aktif kayıttaki kullanışlı dinamik bir nitelik find_or_create_by denir
Model.find_or_create_by_<attribute>(:<attribute> => "")
Ama eğer birden fazla özelliği ile find_or_create için ne yapabilirim?
M:M ilişkisini Grubu ve Üye GroupMember adlı işlemek için bir model var. Member_id = 4, ama bir kez daha örneğini nereden istemiyorum member_id = 4 ve group_id = 7 birçok örnekleri var. Mümkünse böyle bir şey olup olmadığını anlamaya çalışıyorum:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Bu işlemek için daha iyi yollar olabilir farkındayım, ama find_or_create fikri rahatlığı seviyorum.
CEVAP
Birden fazla özelliği and
: ile bağlanabilir
GroupMember.find_or_create_by_member_id_and_group_id(4, 7)
(Eğer kayıt hemen kaydetmek istiyor musun diye find_or_initialize_by
kullanın)
Edit: yukarıdaki yöntem Raylar 4 önerilmiyor. Bunu yapmak için yeni bir yol olacak:
GroupMember.where(:member_id => 4, :group_id => 7).first_or_create
ve
GroupMember.where(:member_id => 4, :group_id => 7).first_or_initialize
Edit 2: raylar dışarı çarpanlarına sadece özniteliği özel olanlar vardı bu.
https://github.com/rails/rails/blob/4-2-stable/guides/source/active_record_querying.md
Örnek
GroupMember.find_or_create_by_member_id_and_group_id(4, 7)
oldu
GroupMember.find_or_create_by(member_id: 4, group_id: 7)
Raylar birden fazla işlemek için yönle...
Ne özelliği olay birden fazla JavaScri...
Bağlanma Birden fazla veritabanı ile 3...
Nasıl oluşturmak birden fazla Raylar a...
Birden fazla eleman için bir WordPress...