Menu

Category

Archive

logo


Paperclipのpath/urlでモデルカスタムのアトリビュートを使う

2014-09-02 22:00:00 +0900
  • このエントリーをはてなブックマークに追加

Paperclipで画像が保存されるpathや外部から参照されるurlにおいて、独自のアトリビュートを使用する方法。

Paperclip.interpolates

下記のコードをモデルクラスのファイル等に追加。

1
2
3
4
# To use string id for the path/url
Paperclip.interpolates :lesson_identifer do |attachment, style|
"#{attachment.instance.lesson_identifer}"
end

:lesson_identifer が、path/urlで使いたいモデルのアトリビュート。

1
2
3
4
5
6
7
8
# For catcher image
  has_attached_file :catcher,
                    :styles => {
                        :big  => "2000x798",
                        :medium => "1000x399"
                    },
                    :path => ":rails_root/public/images/:class/:lesson_identifer/:attachment/:style.:extension",
                    :url => "/images/:class/:lesson_identifer/:attachment/:style.:extension"

そして、:path:url の中で、上記のように使用できます。

参考

Rails, has_attached_file path with custom model attributes