Расширяя ответ Ларри К и комментарий zed_0xff, зачем даже создавать атрибуты, просто отсортируйте по методу в вашей модели:
class Widget < ActiveRecord::Base
def num_comments
#count comments
end
def num_views
#count views
end
def last_view
#return last view
end
end
в вашем контроллере
class WidgetsController < ApplicationController
def index
@widgets = Widget.all.sort_by{ |r| [r.num_comments, r.num_views, r.last_view] }
end
end