我有两种使用 Paperclip 的场景,但我不确定如何调整设置,或者是否可能甚至必要。在这方面需要更多经验丰富的专业人士的建议。

首先,我有一个用于上传的文档模型,例如 PDF,它将被定义:

has_attached_file :document...

这会给我列名,如@document.document_file_name。无论如何,我可以用@document.file_name 代替?

其次,我有 Gallery.rb,里面有很多 Picture.rb。这里也是同样的场景。我可以避免使用@picture.picture_file_name 吗?或者这是否真的应该被 Paperclip 提供的 yield 所忽视。

提前感谢您的任何意见。

最佳答案

我的看法: 实际的 文档(PDF 文件)与文档记录(包括物理文档和元数据)不同。因此,将 Paperclip 附件视为模型的一个属性并在该属性之后调用其方法是有意义的,而不是对模型记录本身进行操作。

我的一个应用程序也有一个带有附加文件的 Document 模型,我只是简单地调用了属性 attachment

如果这给您带来太多不便,您可以随时在模型中实现自己的 getter:

class Document < ActiveRecord::Base
  has_attached_file :attachment    # ... or whatever you are calling it

  def file_name
    self.attachment.file_name
  end

  def file_size
    self.attachment.file_size
  end

  def file_type
    self.attachment.file_type
  end
end

关于ruby-on-rails - Rails : Paperclip question regarding column names,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4116092/

10-13 05:54