Используйте Faker, чтобы создать разные изображения для каждой карты в интернет-магазине.

Настоящий новичок здесь ^^

Я пытаюсь использовать драгоценный камень Faker для заполнения x количества предметов/карточек в проекте интернет-магазина. Все хорошо, кроме одного. Я не знаю, как создать другое изображение для каждого созданного предмета/карты.

10.times do 
  Item.create!(title: Faker::Book.title, description: Faker::Lorem.sentence(5), price: prices.sample, image_url: Faker::LoremFlickr.image)
 end

Есть ли способ поместить разные изображения для каждой карты?

Спасибо :)


person Basil Al Bader    schedule 09.03.2021    source источник


Ответы (1)


Согласно faker docs, вы можете добавить к вызову метода префикс unique, например это:

10.times do 
  Item.create!(title: Faker::Book.title, description: Faker::Lorem.sentence(5), price: prices.sample, image_url: Faker::LoremFlickr.unique.image)
end
person Hackman    schedule 09.03.2021
comment
Спасибо, Хэкман, но добавление метода .unique создает только одну карту, хотя .create находится в цикле. Если его удалить, будет сгенерировано 10 карточек с одинаковым изображением. - person Basil Al Bader; 09.03.2021
comment
@BasilAlBader да, прочитав документацию еще раз и попробовав сам, я обнаружил, что у Faker есть только 1 изображение, поэтому, когда вы вызываете его уникальным, оно вызывает исключение. Итак, вернемся к вашему вопросу: вы не можете получить уникальные изображения от Faker. - person Hackman; 10.03.2021
comment
спасибо, что уделил время, братан ^^ - person Basil Al Bader; 11.03.2021