Я пытаюсь создать приложение типа Reddit, где порядок списка зависит от сочетания количества upvotes, которые имеет ссылка, и созданной даты. Мой план состоит в том, чтобы создать новый столбец в моей таблице «Ссылки», которая объединяет «created_date» и «upvotes» в «Rank Value», а затем сортирует список по «Rank Value».В Ruby/Rails, как я могу создать один столбец в таблице на основе значения двух других столбцов в одной таблице?
Это правильный подход? Если да, как мне создать столбец таблицы с помощью ActiveRecord?
Посмотрите на [обратный вызов] (http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html) api, особенно 'before_save'. – bdares
Вам может не понадобиться новый столбец. Если комбинация достаточно проста, почему бы не модельный метод, который бы возвращал результат. Как и в @ post.rank_value, где #rank_value - это метод, реализующий комбинацию. Теперь это зависит от того, как вы собираетесь объединить два столбца (например, самую последнюю или последнюю последнюю дату?). Как только вы знаете, какая комбинация, это выглядит просто. –
@ EricPlaton это может быть сложно отсортировать, если вы реализуете его как метод. – bdares