Rails 3 Sorting Submissions по последним популярным - PullRequest
0 голосов
/ 16 мая 2011

У меня есть сайт, на котором есть предложения пользователей, по которым пользователи могут голосовать. Я хочу, чтобы эти материалы можно было размещать на моей домашней странице различными способами, но самым сложным из них является «В настоящее время популярный». Я предполагаю, что лучший способ сделать это - это области видимости, но я не совсем уверен, как это сделать.

Каждая отправка имеет атрибуты: votes_up:integer и votes_down:integer

Я думаю, что лучший способ сделать это - найти соотношение votes_up / (votes_up + votes_down), все в течение последнего дня. У меня дополнительно есть модель Votes, которая имеет: submission_id, vote_type ("up" or "down"), and user_id. Очевидно, что и заявки, и голоса имеют created_at:datetimes. Я думаю, что было бы лучше, если бы они возвращали результаты с большим количеством голосов за последний 1 день, а не заявки, полученные за последний 1 день (таким образом, заявки, которые занимают время оборотов можно еще квалифицировать)

Как мне структурировать запрос, который будет возвращать представления в этом порядке с ограничениями по дате?

Имеет ли это смысл?

спасибо!

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Популярные у кого? С a / a + b вы получите много шума, когда у вас будет всего несколько голосов, а когда у вас есть спорная тема, голоса вообще не будут отражать качество материала. Люди принимают сторону и занимаются политикой, а люди с плохим мнением будут склонны голосовать слишком много.

Теоретически идеальный способ справиться с этим - выделить контент, который пользователь обычно соглашается, и скрыть материал от людей, с которыми он не согласен. Специальный список может иметь самые противоречивые темы. Этот подход может быть ресурсоемким, и я не знаю, насколько хорошо Ruby on Rails выполняет оптимизацию базы данных.

1 голос
/ 16 мая 2011

Могу ли я предложить использовать voice_fu и посмотреть, удовлетворяет ли недавняя карма вашей потребности?

...