Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Carrierwave:保存原始文件名无效_Ruby On Rails_Ruby_Ruby On Rails 4_Carrierwave - Fatal编程技术网

Ruby on rails Carrierwave:保存原始文件名无效

Ruby on rails Carrierwave:保存原始文件名无效,ruby-on-rails,ruby,ruby-on-rails-4,carrierwave,Ruby On Rails,Ruby,Ruby On Rails 4,Carrierwave,我使用的是Rails 4.2.1中最新的Carrierwave(主分支)。我需要保存上传文件的原始文件名(在清理之前)。我在Carrierwave Wiki中找到了一个关于如何做的部分()。上传程序中的相关代码如下(根据wiki条目): 但这对我不起作用。我的数据库表中有一个名为“original_filename”的列。文件名保存在该列中,但不是原始文件名,而是经过消毒的文件名 你知道在哪里挂接这个方法来保存原始文件名吗 谢谢。显然,包括我在内的很多人都遇到过这个问题。例如,这个问题()详细解

我使用的是Rails 4.2.1中最新的Carrierwave(主分支)。我需要保存上传文件的原始文件名(在清理之前)。我在Carrierwave Wiki中找到了一个关于如何做的部分()。上传程序中的相关代码如下(根据wiki条目):

但这对我不起作用。我的数据库表中有一个名为“original_filename”的列。文件名保存在该列中,但不是原始文件名,而是经过消毒的文件名

你知道在哪里挂接这个方法来保存原始文件名吗


谢谢。

显然,包括我在内的很多人都遇到过这个问题。例如,这个问题()详细解释了为什么它不能按预期工作

我遇到的一个解决方法是使用传入参数中的
文件
实例显式设置
原始文件名

类似下面的内容

<Model>.create({file: params[:file], original_filename: params[:file]&.original_filename]})
.create({file:params[:file],原始文件名:params[:file]&.original\u filename]})
<Model>.create({file: params[:file], original_filename: params[:file]&.original_filename]})