J'essaie d'utiliser la gemme Wikipedia pour exécuter une tâche râteau et faire correspondre la première image .jpg, .png ou .gif à enregistrer dans mon instance d'institut. J'utilise Ruby Rails 2.3 et 5.Rechercher le premier dans le tableau
Mon code actuel est comme suit:
namespace :import do
desc "Import images from Wikipedia"
task institutes: :environment do
require 'wikipedia'
Institute.all.each do |institute|
school = institute.name
page = Wikipedia.find(school)
next if page.content.nil?
accepted_formats = [".jpg", ".png", ".gif"]
images = page.image_urls
image = images.find {|i| i.image_type }
institute.update!(image_url: image)
end
def image_type
accepted_formats = File.extname(i)
end
end
end
cela génère l'erreur NoMethodError: private method 'image_type' called for #<String....>
est-il un moyen plus efficace (et qui fonctionne!) de faire cela? Désolé, je n'ai pas l'expérience de Ruby! Je ne peux pas déterminer quelle est la meilleure façon de faire fonctionner cela; faut-il inclure une méthode ailleurs ou s'il y a une meilleure façon de le faire?
Cela a fonctionné parfaitement. Merci! –