Tag: 订单

按注释排序时的范围主题查询

我正在尝试按最近的评论设置主题索引的顺序。 这是有效的: Topic.joins(:comments).order(“comments.created_at desc”) 但它不止一次列出了主题。 有没有办法将每个主题的显示时间限制为一个?

Ruby on Rails:根据大多数评论的平均评分对用户进行排序?

我可以显示商店内的商品和评论。 如何获得最多评论的热门项目? 我的评论在另一个数据库表中,而不是商店和项目。 调节器 @shop = Shop.find(params[:id]) @item = Item.where(:shop_name => @shop.name) 视图 有一种简单的方法,我可以根据最高评价和大多数评论订购? 或者也许最好将最高评级和大多数评论分开,让用户点击链接进行过滤? 谢谢 编辑: 所以我有一个shop , item , review表。 在我的项目模型中 has_many :reviews, as: :reviewable has_many :shops 在我的评论模型和商店模型是 belongs_to :user 在我的评论表中,它设置为当用户评论项目时,它会向数据库添加记录,并使用与该项目关联的所有记录的average并在商店中显示它。

为什么Test :: Unit.test_order =没有按预期工作?

在Ruby中有一个问题,如何控制Test :: Unit测试的运行顺序? 并希望回答一下test_order = :defined的参考, Test::Unit::TestCase.test_order的文档说: 设置当前测试顺序。 以下是可用订单: :字母默认。 测试按字母顺序排序。 :random测试按随机顺序排序。 :已定义的测试按定义的顺序排序。 所以我认为这将按照方法定义的顺序执行测试: gem ‘test-unit’ require ‘test/unit’ class Mytest < Test::Unit::TestCase test_order = :defined #~ test_order = :random #~ test_order = :alphabetic #default def test_b p :b end def test_a p :a end def test_c p :c end end 但是当我执行它(用测试单元2.4.9和2.5测试)时,我得到了字母顺序: Started :a .:b .:c […]

Rails 3 Active Record关系顺序:使用hash而不是string

要在Rails 3中对关系进行排序,我们必须这样做: User.where(:activated => true).order(‘id ASC’) 但我认为这个: User.where(:activated => true).order(:id => :asc) 会有更好的意义,因为字段名称的转义方式应该取决于适配器( SqlLite vs Mysql vs PostgreSQL ),对吧? 有类似的东西吗?