我正在使用带有Rails 4的Paperclip将附加的视频文件添加到我的某个模型中。我可以在新的id
之后命名保存的文件:
has_attached_file :file, :url=>"/tmp/video_uploads/:id.:extension", :path=>":rails_root/tmp/video_uploads/:id.:extension"
这会导致他们使用正确的名称+原始扩展名保存到正确的位置。但是,当我查看数据库时,新记录的file_file_name
字段仍然是原始文件名(EX:scooby-dooby-doo.MOV)。我该如何解决这个问题?
答案 0 :(得分:0)
据我所知,这只是一个属性:
object.file_file_name = 'something_else'
object.save
似乎保留原始文件上传名称。改变这个值并没有真正发挥作用。
编辑:您说您试图轻松找到相关文件,您是否了解.url
上的.path
或file
方法?
object.file.path
object.file.url
在github上查看the attachment object。
在查看时,似乎重新分配file_file_name
的值将“打破”file.original_filename
,因为它将不再准确。如果你只想要实际存储文件的文件部分,你可以尝试沿着这些行:
class MyModel < ActiveRecord::Base
has_attached_file :file
def actual_filename
File.basename(file.url)
end
end