我试图通过每个评论的数量来订购我的音乐会。 音乐会has_many评论。 试过这样做
<% @concerts = Concert.all %> <% @concerts.order(reviews.size).each do |concert| %> - - - <% end %>但是我得到了这个错误
ActiveRecord的未定义方法`review':: Relation :: ActiveRecord_Relation_Concert:0xb5540398>
有什么建议我如何参考每个评论的数量都要订购音乐会?
I'm trying to order my concerts by the number of reviews each has. Concert has_many reviews. Tried doing this
<% @concerts = Concert.all %> <% @concerts.order(reviews.size).each do |concert| %> - - - <% end %>but I get this error
undefined method `review' for ActiveRecord::Relation::ActiveRecord_Relation_Concert:0xb5540398>
Any suggestions how I would reference the number of reviews each has to order the concerts?
最满意答案
不是最好的,但最简单的解决方案是
@concerts = Concert.all.includes(:reviews).sort_by{|concert| concert.reviews.size}.reverseNot the best, but the simplest solution is
@concerts = Concert.all.includes(:reviews).sort_by{|concert| concert.reviews.size}.reverse导轨排序有很多关系(rails ordering by has many relation)我试图通过每个评论的数量来订购我的音乐会。 音乐会has_many评论。 试过这样做
<% @concerts = Concert.all %> <% @concerts.order(reviews.size).each do |concert| %> - - - <% end %>但是我得到了这个错误
ActiveRecord的未定义方法`review':: Relation :: ActiveRecord_Relation_Concert:0xb5540398>
有什么建议我如何参考每个评论的数量都要订购音乐会?
I'm trying to order my concerts by the number of reviews each has. Concert has_many reviews. Tried doing this
<% @concerts = Concert.all %> <% @concerts.order(reviews.size).each do |concert| %> - - - <% end %>but I get this error
undefined method `review' for ActiveRecord::Relation::ActiveRecord_Relation_Concert:0xb5540398>
Any suggestions how I would reference the number of reviews each has to order the concerts?
最满意答案
不是最好的,但最简单的解决方案是
@concerts = Concert.all.includes(:reviews).sort_by{|concert| concert.reviews.size}.reverseNot the best, but the simplest solution is
@concerts = Concert.all.includes(:reviews).sort_by{|concert| concert.reviews.size}.reverse
发布评论