Я больше работаю над своим первым живым Rails-приложением, использующим 3.1.0, с руководством М. Хартла и Postgres.Я перешел к главе 10, работая в аутентификации.Вместо страниц я использую открытия.Кроме того, я слежу за его пользователями, сессиями, начиная с 6 главы.Когда я захожу на users / index.html.erb, я получаю следующую ошибку:
PGError: ОШИБКА: оператор не существует: символ меняется = целое число LINE 1: ... CT "users ". * FROM" users "WHERE" users "." email "= 8 LIMIT
При чтении аналогичных строк в стеке потока, все согласны с тем, что поле id не установлено в целое число,Я могу подтвердить, что это целое число.Если бы я регенерировал это поле, мне бы показалось, что это поле было создано рельсами, когда я генерировал модель.Так как это было бы правдой, я должен восстановить поле id в ранней миграции, которая будет автоматически генерироваться Rails?Кажется, я где-то читал, что это плохая идея.
Но я не думаю, что это моя проблема.Глядя на ошибку, я думаю, что она ищет электронную почту пользователя, которая имеет значение «8», а не что-то вроде «joe@example.com».Если это правда, то у меня несоответствие между ожидаемым полем идентификатора и полем электронной почты.Этого следовало ожидать, но как мне найти / понять мое несоответствие?Поскольку это происходит из-за моей неопытности, я начал смотреть на свой след, чтобы посмотреть, смогу ли я найти что-то другое.Я обманываю, глядя на копию Габеба на github и не нахожу ничего, кроме более поздних глав в его коде.
Как мне узнать, что делать?Я борюсь между разницей между @user, @users, пользователями и пользователями в коде.Я понимаю это из-за контекста того, как он используется, и того, что переменная должна соответствовать его отношениям в представлении, помощнику, контроллеру, модели.Как вы узнали это?Если кто-то захочет, мой проблемный пуш на моем github / sam452 / vitae в ветви authenticate1.спасибо, sam452.