การสร้างแอปฟอรั่ม
class Topic < ActiveRecord::Base
belongs_to :user
belongs_to :board
has_many :posts, :inverse_of => :topic
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :topic, :inverse_of => :posts
end
เมื่อดูบอร์ด ฉันต้องการให้รายการหัวข้อเรียงลำดับตามหัวข้อโพสต์ล่าสุดที่สร้าง_ณ วันที่ แต่ฉันไม่สามารถหาวิธีเขียนสิ่งนี้ในลักษณะที่สามารถเข้าใจได้โดยเมธอด order()
เป็นการดีที่มันจะง่ายแบบนี้
@topics = @board.topics.order("topic.posts.last.created_at")
ทุกสิ่งที่ฉันเขียนส่งคืนข้อผิดพลาดเกี่ยวกับคอลัมน์ที่ไม่มีอยู่
สิ่งสำคัญอย่างหนึ่งที่ควรทราบก็คือ @topics
นี้จะถูกป้อนเข้าในการแบ่งหน้า ดังนั้นฉันไม่สามารถแยกผลลัพธ์ของ @board.topics
ออกคำสั่งด้วยตัวเองแล้วจึงแบ่งหน้าได้เนื่องจากการแบ่งหน้าต้องใช้คอลเลกชันประเภทเฉพาะ