Мне хочется создать простой и понятный скрипт интернет магазина. Который будет полезен людям. И в котором сразу по умолчанию будут имется все базовые вещи. Такие как фильтр, корзина, система оплаты, загрузка из экселя и так далее.

Скрипт будет иметь открытый исходный код. И кроме этого он должен быть легко устанавливаеммым на хостинг. Даже на шаред хостинг тарифах.

В качестве интсрумента мы выбираем Ruby on Rails. Почему? Во-первых он очень функциональный. Во-вторых он относительно простой. В-третьих с ним можно делать сайты быстрее чем на любом другом фреймворке. Раз на раз в этом отношении Рейлсы сделают любого. И еще один плюс состоит в том что этот фреймворк часто выбирают для e-commerce. Например такие гиганты как Shopify, Coinbase, Airnb как раз сделаны на нем.

Сам процесс создания будет изложен как курс. Который может быть полезен начинающим программистам. И так начнем!

Установка Ruby on Rails

Перед тем как работать с Рейлсами вы должны их установить у себя. Или воспользоваться разными онлайн платформами. Например такими как Replit. Мы рекомендуем вам сначала поработать в онлайн площадке. А потом, постепенно установить фреймворк на компьютер. Чтобы не застрять в дебрях установок. Инструкции по установке Рейлса имеются в Ютубе, в разных блогах. Рекомендую новичкам этот ресурс - https://gorails.com/setup/windows/11. Здесь имеются очень много разного рода уроков. Еще и этот сайт тоже не плох - https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-22-04

После того как установили Рейлсы должно при запуске выходить такое:

Hello World!
Hello World!

Это так называемый Хелло Ворлд! Заходим в консоль. Идем в папку где расположен наш проект. Для этого есть комманда cd. Например если у вас проект расположен в папке my/project то в консоли набираем cd /my/project. Это в линуксе.

Scaffolding помогает экономить время!

Сколько времени нужно чтобы создать таблицу в базе данных, создать форму для ввода данных, страницу добавления записи, страницу для изменения записи с базе данных? Для начинающего программиста целая вечность! А на Рейлсах можно сделать одним кликом. Это называется скаффолдингом. То есть генерацией готового кода.

Идем в консоль и пишем такую комманду:

rails g scaffold category name:string title:string description:string text:text image:image reti:integer

Все! Код сгенирирован! Теперь набираем в консоли:

rails db:migrate

Что это за комманда? Это комманда для запуска миграции в Базе Данных. Сам синтаксис скаффолдинга ресурса довольно простой.

g значит генерация, category это имя ресурса (если сказать по простому то это название таблицы в Базе Данных). Вы можете написать вместо этого например post, article или по другому. name:string значит что у нашего ресурса будет поле name в Базе Данных с строковым типом. text это текстовый тип (например для описания товаров или категории) а integer является простым числом (0, 100, -10000, 12, 77 и так далее).

Для запуска Рейлсов есть комманда:

rails s

Открываем страницу http://localhost:3000/categories и мы увидем CRUD:

Скаффолдинг
Скаффолдинг

Жмем на "New category" и откроется форма для ввода данных:

Форма для заполнения
Форма для заполнения

Если ее заполнить и нажать на "Create Category" то у нас создается новая страница. Все страницы будут выходит списком вот здесь:

Создали новую страницу
Создали новую страницу

Если нажать на ссылку "Show this category" то мы увидем нашу страницу:

Отдельная страница
Отдельная страница

То есть мы по сути дела создали мини блог одной коммандой! Круто! Если вы хотите чтобы эти страницы выходили на главной то нужно поменять роуты для этого идем в папку config/routes.rb и там пишем вот такую строку:

root "categories#index"

Если у вас не categories а articles то пишем root "articles#index". Теперь дадим некоторые пояснения по терминам. Чтобы начинающие программисты знали это.

Что такое скаффолдинг?

Скаффолдинг это генерация кода. Вы пишите в консоли параметры того чего хотите получить а Рейлсы делают все за вас. Они создают скелет того что потом вы можете немного изменив использовать в разработке. Порой при генерации создаются десятки файлов. Если их создавать в ручную то понятное дело можно потерять много времени.

Что такое CRUD?

CRUD это сокращение от Create, Read, Update и Delete. Короче говоря это часть приложения где создаются, читаются, изменяются и удаляются записи. Как в примере выше.То есть создается функционал где можно добавить запись, потом ее изменить, или удалить а также посмотреть что мы ввели.

Комментарии (0)