Ruby on rails Rails曲别针自定义文件路径
好的,我有这个模型Ruby on rails Rails曲别针自定义文件路径,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,好的,我有这个模型 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/:b
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
class资产“/attachments/:id/:basename.:extension”,
:path=>“:rails\u root/public/attachments/:id/:basename.:extension”
验证是否存在:资产\u文件\u名称
验证附件是否存在:附件
结束
(还有一个课程的模型
)
我想将附件保存到/attachments/:lesson\u id/:basename.:extension
。
这不是资产的
:id
,而是:lesson\u id。当我这样做时,目录实际上只是命名为:lesson\u id
。有人知道如何获得实际的课程id
?我还尝试了@asset.lesson\u id
您必须在回形针中添加自定义插值器。
这最好在初始化器中完成,或者在与模型解耦的地方完成
Paperclip.interpolates('lesson_id') do |attachment, style|
attachment.instance.lesson_id
end
之后,您的:lesson\u id
将成为实际的对象。lesson\u id