こんにちは、このチュートリアルを使用して、画像のランダムな名前を 取得しますhttp://trevorturk.com/2009/03/22/randomize-filename-in-paperclip/
問題は、このエラーが発生することです。
NameError in RegistrationsController#create
undefined local variable or method `image_file_name' for #<Player:0xbd66ae0>
Rails.root: /srv/www/myfootballproject.com/mfp
Application Trace | Framework Trace | Full Trace
app/models/player.rb:143:in `randomize_file_name'
app/models/user.rb:29:in `is_a_player?'
これが問題の原因となっているモデルの部分です
これは、モデルの player.rb の「クラス Player」内の部分図です。
has_attached_file :avatar, :styles => { :profile => "300x300", :thumb => "100x100#"},
:url => "/assets/people/:id/:style/:basename.:extension",
:path => ":rails_root/public/assets/people/:id/:style/:basename.:extension"
before_create :randomize_file_name
validates_attachment_size :avatar, :less_than => 2.megabytes # Solo aceptar imágenes menores a 2 Mb.
validates_attachment_content_type :avatar, :content_type => ['image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif']
private
def randomize_file_name
extension = File.extname(image_file_name).downcase
self.image.instance_write(:file_name, "#{ActiveSupport::SecureRandom.hex(16)}#{extension}")
end
def defeated?
t = Time.now - created_at
mm, ss = t.divmod(60)
hh, mm = mm.divmod(60)
dd, hh = hh.divmod(24)
dd > 180 ? true : false
end