Мультиблог на Ruby on Rails. Работа с консолью. Заполнение данных. Урок 3.
Итак, у нас есть модель Post, а значит мы уже можем заполнить её каким-то контентом. Поскольку у нас пока ещё нет функционала по созданию постов через админку, то делать это мы будем посредством консоли Ruby on Rails. Вызвать её можно так:
rails console
Заполнение базы данных через консоль
Чтобы создать пост через консоль, достаточно ввести команду:
post = Post.create(body: "Первый пост в этом блоге", title: "Заголовок")
Теперь если вывести содержимое переменной post, то можно увидеть объект нашей модели, который все эти данные в себе и содержит:
Предположим, мы хотим изменить поле body. Тут само собой напрашивается сделать это следующим образом:
post.body = "Всем привет!"
Теперь, если снова вывести переменную post, то мы обнаружим что поле body данного объекта было изменено:
Но это относится лишь только к объекту post, в самой базе данных ничего не изменилось. В этом можно убедиться, использовав метод find, в качестве аргумента к которому передав id записи (в данном случае значение id для нашей записи равно 1). Значит команда будет следующая:
post = Post.find(1)
и если обратиться к переменной post на этот раз, то можно убедиться что данные в базе не поменялись:
А если мы хотим чтобы данные обновились и в базе данных, необходимо снова изменить значение поля. Затем дать команду:
post.save()
По завершении работы, для выхода из консоли, достаточно ввести команду:
exit
Итак, в этом уроке мы немножко поработали с консолью и посредством работы с моделью, научились заполнять таблицы в базе данных - пока что так, потому что чуть позже у нас появится функционал создания постов через личный кабинет. А в следующем уроке займёмся тем, чтобы эти данные вывести непосредственно на сам сайт.