0

さて、私はこのモデルを持っています...

class Asset < ActiveRecord::Base
  attr_accessible :asset_file_name, :lesson_id, :attachment

  has_attached_file :attachment,
    :url => "/attachments/:id/:basename.:extension",
    :path => ":rails_root/public/attachments/:id/:basename.:extension"

  validates_presence_of :asset_file_name
  validates_attachment_presence :attachment
end

( のモデルもありますLesson)

に添付ファイルを保存したい/attachments/:lesson_id/:basename.:extension。それは:idアセットではなく、:lesson_id です。これを行うと、ディレクトリの名前は実際には:lesson_id. 実際の取得方法を知っている人はいますlesson_idか?私も試し@asset.lesson_idました。

4

1 に答える 1

1

ペーパークリップにカスタム補間器を追加する必要があります。これは、初期化子またはモデルから切り離された場所で行うのが最適です

Paperclip.interpolates('lesson_id') do |attachment, style|
  attachment.instance.lesson_id
end

その後、あなた:lesson_idは実際のobject.lesson_id

于 2012-07-11T15:33:08.707 に答える