2016-12-05 10 views
0

Я хочу сохранить статистику записей (скажем, книг), сколько раз они отображались на странице. Я добавил целочисленный столбец с именем featured, основанный на этом атрибуте. Я получаю записи, у которых меньше featured. Это позволит сократить неравенство и я буду счастлив, потому что я коммунист :)Соглашение о рельсах для неиндексных целых полей

def foo 
    @books = Book.order(:featured).take(5) 
    @books.each { |book| book.update_columns(featured: book.featured+1) } 
    render 'bar' 
end 

Внезапно я понял, что атрибуты с ed суффикса (в прошлом (идеальный) времени), как правило, используются для логических полей (например, book.published? , book.featured?, book.approved?), что более интуитивно понятно. И если я сохраню featured в качестве имени целочисленного атрибута, это может запутать других новичков в будущем.

Итак, существует ли более читаемое соглашение для целых полей?

+1

Нет, нет соглашения об именах. Но я бы назвал столбец 'views' или' page_views' не 'view'. 'featured' на самом деле не работает здесь, поскольку он не имеет такого же значения, когда используется как существительное. – max

+0

Если вам требуется соглашение, то это означает, что если вам нужен комментарий, чтобы объяснить, что такое столбцовое имя, вероятно, сосет. – max

+0

@max при обсуждении с товарищами по команде, я просто сделал следующее предложение: «эта запись была отмечена x раз». поэтому я выбрал это. то, как описано выше, я понял, что это не очень удобно. Итак, вы говорите, что «взгляды» более читабельны, да? – marmeladze

ответ

0

Я думаю, что нет, даже вы создаете «логическую проверку» с признаками, как и покажите нам, что вы используете «признакам»?

+0

конечно. для удобства чтения, мы используем '@ book.published?' (=> T/f). tihs дает ощущение, как вы задаете вопрос. '(есть/есть) в этой книге?' – marmeladze