class Comment < ActiveRecord::Base
# updated_at :datetime
belongs_to :user
end
class Post < ActiveRecord::Base
# last_edit_at :datetime
belongs_to :user
end
我想查询某个用户,并根据她的评论updated_at属性和发布的last_edit_at属性按时间顺序显示她的评论和帖子。
我尝试使用类似问题的an answer,但属性是相同的:
combined_sorted = (User.comments + User.likes).sort{|a,b| a.created_at <=> b.created_at }
我怎样才能完成上述但具有独特属性?
答案 0 :(得分:5)
你可以创建一些别名属性......
class Comment < ActiveRecord::Base
# updated_at :datetime
alias_attribute :sort_date, :updated_at
belongs_to :user
end
class Post < ActiveRecord::Base
# last_edit_at :datetime
alias_attribute :sort_date, :last_edit_at
belongs_to :user
end
user = User.first # replace with method to retrieve desired user
combined_sorted = (user.comments + user.likes).sort{|a,b| a.sort_date <=> b.sort_date }