繁体   English   中英

保存回形针图像时不允许使用的参数

[英]unpermitted parameters when saving paperclip image

我在参数方面遇到了一些麻烦,所以我想,我已经看到了Ruby on rails不允许的参数:image并且没有用

我在我的pictures_controller.rb中

def create 
  @picture = Picture.new(picture_params) 
  if @picture.save 
    #ok 
  else 
   #error
  end
end

private
  def picture_params
    params.require(:picture).permit(:project_id, :picture )
  end

在我的世界里

Parameters: {"utf8"=>"✓", "picture"=>{"project_id"=>"10", "picture"=>[#<ActionDispatch::Http::UploadedFile:0x007f9e9ccd1378 @tempfile=#<Tempfile:/tmp/RackMultipart20140604-18563-1ce54ta>, @original_filename="apple-touch-icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"picture[picture][]\"; filename=\"apple-touch-icon.png\"\r\nContent-Type: image/png\r\n">]}}
Unpermitted parameters: picture

参数project_id已保存,但回形针的字段(文件名,文件大小和文件类型)未保存。

IN模型

has_attached_file :picture, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
validates_attachment_content_type :picture, :content_type => ["image/jpg", "image/jpeg", "image/gif", "image/png"]

而且Picture不是嵌套属性,project_id只是我在文本字段中获得的值,因此根本没有嵌套模型,它是一种简单的形式,具有两个字段project_id和一个名为picture的文件字段。

我解决了它,似乎在我的params中,带有图像数据的关键图片是一个数组

"picture"=>[#<ActionDispatch::Http::UploadedFile:0x007f9e9ccd1378 @tempfile=#<Tempfile:/tmp/RackMultipart20140604-18563-1ce54ta>, @original_filename="apple-touch-icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"picture[picture][]\"; filename=\"apple-touch-icon.png\"\r\nContent-Type: image/png\r\n">]}

所以我只是做一个.first来获取价值,我认为这不是最好的方法,但是我会找到一种更清洁的方法,至少现在我知道错误的出在哪里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM