2015-11-18 2 views
0

Я следую инструкциям по рельсам и наткнулся на эту ошибку ActiveRecord::RecordNotFound: Couldn't find Page with 'id'=2 после ввода этого page = Page.find(2). Я не понимаю, почему это произошло, когда я шаг за шагом шел. Я проверил весь мой код для опечатки и перезапустил мои миграции, и я все равно получаю ту же ошибку. Что я могу сделать?Не удается найти конкретный идентификатор в консоли rails

ответ

0

Пожалуйста, попробуйте это в консоли:

Page.pluck(:id) 

Что она делает это отображает массив всех идентификаторов страниц у вас есть в базе данных. Если массив пуст, это означает, что у вас нет записей на странице. Если у него есть некоторые значения, например [1, 2, 3], вы можете загрузить любой из них, передав id методу find: page = Page.find(1).


UPDATE

Это, как вы можете добавить запись, при условии, что он имеет атрибуты имя и адрес электронной почты: "!"

user = User.new name: 'John Smith', email: '[email protected]' 
user.save! 

#other way is to create a user directly: 
user = User.create! name: 'John Smith', email: '[email protected]' 

знак в конце вызывает исключение, если что-то пошло не так, так что вы точно знаете, что именно; вызывая просто «сохранить», без «!» вернет true/false. То же самое для создания!/create

+0

Когда я сделал это, массив был пуст ... но это то, что меня сбивает с толку, я понятия не имею, почему он пуст, если я поэтапно слежу за учебником. Я действительно не хочу начинать весь этот учебник по всему @bosskovic –

+0

попытайтесь вернуться в учебник к месту, где вы добавляли записи, возможно, это то, что пошло не так, и у вас не было записей. Или вы можете добавить запись сейчас, вам просто нужно запомнить, какие атрибуты имеет пользовательская модель. Я отвечу на пример. – bosskovic

+0

Спасибо за обновление! Я попробую это, и, надеюсь, меня поймают и дадут знать, что происходит. @bosskovic –

0

Это означает, что у вас нет страницы с id = 2, если вы ищете page = Page.find_by_id(2) Это даст вам нуль, а не ошибку.

+0

Я понимаю, что это то, что говорит мне ошибка, но я не понимаю, почему это произошло. Когда инструктор набрал его, страница была найдена. Есть ли что-нибудь, что я должен опубликовать, что поможет определить причину этого? @Padmanaban Gokula –

+0

Возможно, вы удалили запись с id = 2, пожалуйста, попробуйте @bosskovic предложить просмотреть список идентификаторов страниц, который находится в таблице. –

Смежные вопросы