2012-02-07 6 views
3

私はプロジェクト内でペーパークリップを使用しています。idを持つペーパークリップのカスタムパスbelongs_to

懸念モデルは次のようになります。

class Asset < ActiveRecord::Base 

    has_paper_trail        # Track model with paper_trail 
    has_attached_file :image, :styles => { :medium => "300x300>"}, 
    :path => ":rails_root/public/attachments/project_#{:project_id}/ressources/:basename_:style.:extension" 

    belongs_to :project 

end 

あなたは私が私のイメージパスに関係プロジェクトのIDを持っていると思います見ての通り、どのように私はこれを行うことができますか?

答えて

6

この

has_attached_file :image, :styles => { :medium => "300x300>"}, 
path => ":rails_root/public/attachments/:project_id/ressources/:basename_:style.:extension" 

試してみて、その後、書き込み

Paperclip.interpolates :project_id do |attachment, style| 
    "project_#{attachment.instance.project_id}" 
    end