私はrakeタスクを実行し、.jpg、.png、または.gifの最初のイメージと一致させてWikipedia gemを使用して、私のinstituteインスタンスに保存しようとしています。私は5最初に配列を検索
私の現在のコードは次の通りであるルビー2.3とRailsを使用しています:
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
これはエラーNoMethodError: private method 'image_type' called for #<String....>
を与えて、より効率的な方法(と動作するものがあります! )これを行うの?申し訳ありませんが、私はRubyでそれほど経験はありません!私はこれを動作させる最良の方法が何であるかを考え出すことはできません。他の場所にメソッドを含めるか、それを行うためのよりよい方法があるかどうか
それは完璧に働いた。ありがとう! –