これは私のモデルです
class Technology < ActiveRecord::Base
attr_accessible :name #etc ....
has_attached_file :logo, :path => ":rails_root/public/technologies/logos/:normalized_input_file_name"
Paperclip.interpolates :normalized_input_file_name do |attachment, style|
attachment.instance.normalized_input_file_name
end
def normalized_input_file_name
name = "#{self.name}".downcase
"#{self.tuid}_"+name.gsub(/[^a-zA-Z0-9]{2,}/,' ').strip.gsub(/\W/,'_').gsub(/\A_/,'').gsub(/_\z/,'')+"_150x"+".png"
end
end
テクノロジーを作成するときは、「normalized_input_file_name」メソッドを使用して、そのロゴと新しい名前でパブリック ディレクトリに保存されている画像をアップロードします。例えばテクノロジー名は HTML5 で、ファイル名は id_html5_150x.png になりますが、名前を更新する必要があると、画像のパスも変更されます。例 HTML 5 ファイル名は id_html_5_150x.png になります ここでは実際の画像ファイル名は更新されませんが、パスは更新されます。なので画像が見つかりません。