2017-06-07 9 views
0

私はPaperclipを使用しています。ユーザーのアバターのためにS3に画像をアップロードしたいと思います。イメージURLを使用して紙クリップ付きのシード

マイCSV

username avatar_url 
foo   https://s3.amazonaws.com/foo/seed/10215716104_e09765dabd_z.jpg 

私はこのSO question(ペーパークリップの播種用)と一緒に、CSVを作成するために、follow this tutorialに行くので、このような何かた:私がしようとすると、しかし

require 'csv' 

csv_text = File.read(Rails.root.join('lib', 'seeds', 'user.csv')) 
csv = CSV.parse(csv_text, :headers => true, :encoding => 'ISO-8859-1') 
csv.each do |row| 
    u = User.new 
    u.username = row['username'] 
    u.avatar = File.open(row['avatar_url']) 
    u.save 
end 

これは次のようなコンソールです:

User.create(username: 'foo', avatar: File.new("https://s3.amazonaws.com/foo/seed/10215716104_e09765dab")) 

私はエラーが発生します:

Errno::ENOENT: No such file or directory @ rb_sysopen - https://s3.amazonaws.com/foo/seed/10215716104_e09765dabd_z.jpg 

S3で画像をシードすることは可能ですか?ここで

+0

それは 'File.open()'ではないでしょうか? –

+0

私は両方を試しました。どちらも私のために働いていない。 :( – yellowreign

答えて

0

は、私はそれを使用している方法です:

class User < ActiveRecord::Base 
    has_attached_file :avatar, ... 
end 

user = User.new 
user.avatar = URI.parse(url_goes_here) 
user.save 

Attachment downloaded from a URL

関連する問題