Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 3 用回形针处理文件_Ruby On Rails 3_File Upload_Paperclip - Fatal编程技术网

Ruby on rails 3 用回形针处理文件

Ruby on rails 3 用回形针处理文件,ruby-on-rails-3,file-upload,paperclip,Ruby On Rails 3,File Upload,Paperclip,我用回形针在一个我为一个特定的用例制作的宝石中。MyGem为非程序员创建了一个界面来创建和编辑表单,然后允许用户回答这些表单 我想使用回形针,以便为问题提供“文件上传”输入类型,因此我的表格更通用。但是,这意味着我需要使用file\u field\u tag方法来显示文件输入,并且我需要手动将通过该输入提交的任何信息保存到相应的模型对象中。目前,我正在使用名称question\u 1发送信息,然后尝试使用params[“question\u 1”]提取上传的数据 我的代码如下所示: an

我用回形针在一个我为一个特定的用例制作的宝石中。MyGem为非程序员创建了一个界面来创建和编辑表单,然后允许用户回答这些表单

我想使用回形针,以便为问题提供“文件上传”输入类型,因此我的表格更通用。但是,这意味着我需要使用
file\u field\u tag
方法来显示文件输入,并且我需要手动将通过该输入提交的任何信息保存到相应的模型对象中。目前,我正在使用名称
question\u 1
发送信息,然后尝试使用
params[“question\u 1”]
提取上传的数据

我的代码如下所示:

    answer.update_attributes(upload: params["question_1"])
但是我得到了一个
没有找到的
错误处理程序,我无法找出我做错了什么。我以为回形针在我从
文件\u字段
传递数据后就能处理所有事情

解决方案:

我的表单是这样的:
,而它本应该是这样的:

我使用

has_attached_file :image
validates_attachment_presence :image
validates_attachment_content_type :image, :content_type => ['image/jpeg', 'image/png', 'image/jpg', 'image/pjeg']
然后:

@upload = Upload.find(params[:id])
@upload.update_attributes(params[:upload])
config/environment.rb

Rails::Initializer.run do |config|
  config.gem "paperclip", version: "~> 2.7"
end
此线程还建议检查表单上的多部分


该页面上还有其他可能的解决方案。

结果表明,我在表单中错误地编写了多部分代码。谢谢你的回答!
answer_form_for @upload, :html => {:multipart => true} do |f|