- Технически, в Главе 9, мы обращались c сессиями как с ресурсом, но они не сохранялись в базе данных как пользователи и микросообщения. ↑
- Атрибут
content
будетstring
, но, как кратко отмечалось в Разделе 2.1.2, для более длинных текстовых полей Вам следует использовать тип данныхtext
. ↑ - Более подробную информацию о Factory Girl ассоциациях, включая множество доступных опций, см. Factory Girl documentation. ↑
- Напомним, что
created_at
иupdated_at
это “волшебные” столбцы, так что все явные значения инициализации магическим образом перезаписываются. ↑ - В смысле семантической разметки, вероятно, было бы лучше использовать нумерованный список, но в этом случае вертикальное выравнивания текста и изображений было бы гораздо более трудным, чем с таблицами. См. упражнение в Разделе 11.5 если вы настаиваете на трудностях с семантической версией. ↑
- В случае, если вам интересно, метод ассоциаций
count
умен, и выполняет подсчет непосредственно в базе данных. В частности, он не вытягивает все микросообщения из базы данных и не вызывает затемlength
на получившийся массив, так как это стало бы страшно неэффективно при увеличении числа микросообщений. Вместо этого, он просит базу данных подсчитать количество микросообщений с даннымuser_id
. Кстати, в маловероятном случае при котором count все же будет узким местом в вашем приложении, Вы можете сделать его еще быстрее с counter cache. ↑ - Для удобства, Листинг 11.19 на самом деле включает все CSS необходимые для этой главы. ↑
- (т.е., пять с пользовательскими Gravatar-ами, и один с дефолтным Gravatar) ↑
- Следите за своим
log/development.log
файлом, если Вам интересно, какой SQL генерирует этот метод. ↑ - Текст lorem ipsum гема Faker случаен, так что контент Ваших образцов микросообщений будет отличаться. ↑
- Остальные два ресурса это Users в Разделе 8.1 и Sessions в Разделе 9.1. ↑
- Мы отмечали в Разделе 9.3.2, что вспомогательные методы по умолчанию доступны только в представлениях, но мы сделали вспомогательный метод Sessions доступным также и в контроллерах, добавив
include SessionsHelper
в контроллер Application (Листинг 9.11). ↑ - Изучение методов, таких как
include?
является одной из причин, по которым, как отмечалось в Разделе 1.1.1, я рекомендую читать книги о чистом Ruby после окончания этого учебника. ↑ - См. в Rails Guide Интерфейс запросов Active Record for more on
where
and the like (# предположительно: непередаваемый английский юмор). ↑ - К сожалению, возвращение пагинированного потока сообщений не работает в данном случае. Реализуйте это и кликните по пагинационной ссылке чтобы увидеть почему. ( Rails Tutorial screencasts раскрывают этот вопрос более подробно.) ↑