6
first_or_create
çok daha az belgelenmiş gibi görünüyor, bu yüzden iki yöntemin eş anlamlı olup olmadığına merak ettim. Temeldefirst_or_create vs find_or_create_by
first_or_create
çok daha az belgelenmiş gibi görünüyor, bu yüzden iki yöntemin eş anlamlı olup olmadığına merak ettim. Temeldefirst_or_create vs find_or_create_by
:
Foo.where(attributes).first_or_create
aynı mı:
Foo.find_or_create_by(attributes)
#first_or_create
bazen insanlar o verilen özelliklere göre arama yapmak beklediğiniz gibi yanlış anlaşılır, ama bu durum böyle değil. Aka
Foo.first_or_create(attributes)
attributes
karşılayan bir
foo
aramak olmaz. Varsa, ilk
foo
'u alacaktır. Bulmak için şartlar yaratma için kullanılanların bir alt kümesi ise yararlıdır. Aka
Foo.where(something: value).first_or_create(attributes)
ilk foo
nerede something: value
bulacak. Hiçbiri yoksa, onu oluşturmak için attributes
kullanır.