Мультиблог на 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

Итак, в этом уроке мы немножко поработали с консолью и посредством работы с моделью, научились заполнять таблицы в базе данных - пока что так, потому что чуть позже у нас появится функционал создания постов через личный кабинет. А в следующем уроке займёмся тем, чтобы эти данные вывести непосредственно на сам сайт.