我正在使用rails 2应用程序并使用带有2.3.3版本的paperclip插件。
在存储名称为 abc'" .jpg 的图片时,它会在数据库中存储为" .jpg 。
帮我保存原始文件名或者至少通过abc.jpg重命名文件并删除通配符
答案 0 :(得分:0)
在保存记录之前,添加以下约束:
@model_name.image_file_name = @model_name.image_file_name.gsub(/['"]/,"")
将@model_name
替换为您要保存的实例变量。
因为,您还没有与模型详细信息共享相关代码。我将分享我在我的应用程序中测试的示例:
例如:
对于具有名为Pin
的Paperclip附件属性的模型image
。编写PinsController create
和update
操作,如下所示:
def create
@pin = Pin.new(params[:pin])
@pin.image_file_name = @pin.image_file_name.gsub(/['"]/,"")
@pin.save
.....
.....
end
def update
@pin = Pin.find(params[:id])
@pin.image_file_name = @pin.image_file_name.gsub(/['"]/,"")
@pin.update_attributes(..)
.....
.....
end
.gsub(/['"]/,"")
会从上传的文件名中删除不需要的'
和"
。如果除'
和"
之外还有其他任何外卡,请在gsub调用中添加。