Найти в Дзене
Долина Троллей

Как добавить товары в интернет-магазин

Я уже упоминал на этом канале книгу, посвященную созданию интернет-магазина на Rails 4 в статье про развертывание и эксплуатацию. Так вот.

Скриншот 1. Содержимое каталога
Скриншот 1. Содержимое каталога

Чтобы добавить товар в интернет-магазин, созданный по этой книге, откройте консоль Rails командой RAILS_ENV=production rails console. Затем в ней введите введите команду Product.create(title:'NewTitle',description:'NewDescr',image_url:'archer.jpg',price:0.90). Для выхода - exit.

Чтобы убедиться, что товар добавлен, можно до и после этой команды выполнить Product.count, которая выведет количество записей в таблице.

Как загрузить картинку на сервер. Это можно сделать с помощью утилиты scp, если у вас есть доступ к серверу по ssh. Формат вызова этой утилиты:

scp имя_файла.jpg имя_пользователя@ip-адрес_сервера:/путь_к_каталогу_на_сервере

Например, путь к каталогу может быть таким: /var/www/depot/app/assets/images.

Далее, после загрузки картинки(ок) на сервер, можно выполнить на нем команду RAILS_ENV=production rake assets:precompile (находясь в каталоге /var/www/depot, также как и в случае с командой rails console), чтобы они скопировались из каталога app/assets/images в public/assets.

Однако и после этого ссылка на загруженную картинку в каталоге товаров может быть не правильной, а указывать на картинку, находящуюся в каталоге public/images/. В таком случае создаем этот каталог и вручную копируем туда картинку, например так: cp app/assets/images/archer.jpg pubic/images. И это еще не все. В конфигурационный файл config/environments/production.rb после этого необходимо будет добавить строку config.serve_static_assets = true.

UPD. Размер картинок в описаниях товаров в каталоге можно увеличить правкой файла app/assets/stylesheets/store.scss (чтобы изменения вступили в силу, требуется перезапуск сервера WEBrick).

Скриншот 2. store.scss.
Скриншот 2. store.scss.