Ruby on rails 3 多态关联的回形针自定义路径和url
我使用依恋模型作为多态关联。如何根据关联更改路径和url参数 附着模型Ruby on rails 3 多态关联的回形针自定义路径和url,ruby-on-rails-3,paperclip,Ruby On Rails 3,Paperclip,我使用依恋模型作为多态关联。如何根据关联更改路径和url参数 附着模型 class Attachment < ActiveRecord::Base belongs_to :user belongs_to :attachable, :polymorphic => true has_attached_file :attachment, :url => "/attachments/:id/:basename.:extension
class Attachment < ActiveRecord::Base
belongs_to :user
belongs_to :attachable, :polymorphic => true
has_attached_file :attachment,
:url => "/attachments/:id/:basename.:extension",
:path => ":rails_root/public/attachments/:id/:basename.:extension",
:default_url => "/attachments/original/no-file.txt"
end
但是我需要基于关联来保存文件,比如,如何将参数传递给“path”attachable_type'定义上载文件所属的关联
/attachments/project/
/attachments/client/
你可以用。插值允许您调用方法来确定路径部分的值
class Attachment < ActiveRecord::Base
belongs_to :user
belongs_to :attachable, :polymorphic => true
Paperclip.interpolates :attached_to do |attachment, style|
attachment.instance.attachable.class.to_s.downcase
end
has_attached_file :attachment,
:url => "/attachments/:id/:basename.:extension",
:path => ":rails_root/public/attachments/:attached_to/:id/:basename.:extension",
:default_url => "/attachments/original/no-file.txt"
end
类附件true
回形针.内插:附加|附加,样式|
attachment.instance.attachable.class.to_.downcase
结束
已附加文件:附件,
:url=>“/attachments/:id/:basename.:extension”,
:path=>“:rails\u root/public/attachments/:attached\u to/:id/:basename.:extension”,
:default_url=>“/attachments/original/no file.txt”
结束
您可以使用。插值允许您调用方法来确定路径部分的值
class Attachment < ActiveRecord::Base
belongs_to :user
belongs_to :attachable, :polymorphic => true
Paperclip.interpolates :attached_to do |attachment, style|
attachment.instance.attachable.class.to_s.downcase
end
has_attached_file :attachment,
:url => "/attachments/:id/:basename.:extension",
:path => ":rails_root/public/attachments/:attached_to/:id/:basename.:extension",
:default_url => "/attachments/original/no-file.txt"
end
类附件true
回形针.内插:附加|附加,样式|
attachment.instance.attachable.class.to_.downcase
结束
已附加文件:附件,
:url=>“/attachments/:id/:basename.:extension”,
:path=>“:rails\u root/public/attachments/:attached\u to/:id/:basename.:extension”,
:default_url=>“/attachments/original/no file.txt”
结束
/attachments/project/
/attachments/client/
class Attachment < ActiveRecord::Base
belongs_to :user
belongs_to :attachable, :polymorphic => true
Paperclip.interpolates :attached_to do |attachment, style|
attachment.instance.attachable.class.to_s.downcase
end
has_attached_file :attachment,
:url => "/attachments/:id/:basename.:extension",
:path => ":rails_root/public/attachments/:attached_to/:id/:basename.:extension",
:default_url => "/attachments/original/no-file.txt"
end
has_attached_file :attachment, :path => ":rails_root/public/attachments/#{lambda { |a| a.instance.images_path? ? 'project' : 'client' }}/:id/:basename.:extension"
def images_path?
if your pretty condition
#return true
else
#return false
end
end