Modellerimde (User
) ve öykü (Story
) var: user has_many stories
.Ruby on Rails: #any? yanlış değer döndürür
benim kabuğunda garip bir şey fark ettik:
Bu nasıl çalışıyor(dev) user.stories.any?
=> true
(dev) user.stories
Story Load (1.6ms) SELECT "stories".* FROM "stories" WHERE "stories"."user_id" = 703 ORDER BY created_at ASC [["user_id", 703]]
=> []
(dev) user.stories.any?
=> false
? Bu benim kodumdan mı kaynaklanıyor yoksa Raylar'da bir çeşit hata mı ve veritabanını sorgulama şekli mi?
user.stories.to_a.any?
user.stories.to_a.empty? # also works with empty?
Bu şekilde, raylar sorgu yapmak zorunda:
Eğer İngilizce noktalama ne demek istedin @sawa? Daha hassas olabilir misin? Belli ki yerli bir konuşmacı değilim ve bazen hatanın nerede olduğunu anlamıyorum. – Mat
Tamam. Kurallar daha sonra farklı dillerdir. Fransızcada, noktalama işaretinin iki bölümden oluştuğundan önce ve sonra boşlukları kullanırız. – Mat
Raylarda aktif ilişkide olası hata var mı? http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-any-3F kaynağını görmek için http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method- i-empty-3F ve true değerini döndürürse "limit_value == 0" - veritabanına birden çok kez çarpmamak için bir optimizasyon olabilir mi? TEST ortamında raylarda da aynısını yapıp yapmadığını merak ediyorum. – house9