Story
adlı bir modele sahibim, created_at
tarihine göre sipariş vermeye çalışıyorum. Ben PostgreSQL'i kullanan Heroku, benim app barındırılan ettik beri, benim denetleyicisi vardır:Raylar: Postgres'e göre siparişi yanlış siparişi döndürme
@stories = Story.find(:all, :order => "DATE(created_at) DESC" , :limit => 11)
Bununla, oluşturulma tarihi tarafından sipariş Hikayelerimden ilk 11, vermek beklenir en yeni hikaye.
Maalesef, bu işe yaramıyor. Hikayelerin çoğu, doğru şekilde sipariş veriliyor, ancak ilk ikisi ters çevriliyor. Yani, en son hikaye listede ikinci görünür.
Neden böyle olur? Sonuçların hiç sipariş edilmediğinden veya yanlış sütunda (belki de kimlik) sipariş edildiğinden ve dizin sayfamda görüntülendiğinde beklediğim gibi sipariş verilemediğinden şüpheleniyorum. Beklediğim gibi siparişi nasıl alabilirim?
Herkesin umurunda olması durumunda, dizin görünümü sırayla sadece öyküleri görüntülüyor. Bu, (HAML) aşağıdaki gibidir: created_at
bir tarih saat sütun olduğu
I şüpheli
- @stories.each do |story|
= render :partial => "event", :locals => { :event => story }
DÜZENLEME ve DATE(...)
fonksiyon saat kısmı göz ardı eder. Bu nedenle aynı tarihte oluşturulmuş öğeleri rastgele bir sırayla döndürür. İlk iki öykü aynı günde, fakat birkaç saat arayla yaratıldığından beri, neden “tersine döndük” gibi görünüyor. Böyle bir durumda, hem tarih, hem de zaman açısından doğru sözdizimi ne olurdu? Sana inanıyorum
Bu hile yaptı. Teşekkürler. –