Rails 4中的回形针 – 强参数禁止属性错误

前端之家收集整理的这篇文章主要介绍了Rails 4中的回形针 – 强参数禁止属性错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Rails 4中存在Paperclip上传问题 – ForbiddenAttributesError(强参数验证)失败.有最新的纸夹宝石和最新的rails 4宝石.

我有一个模型“图像”与模型中附带的文件上传”:

has_attached_file :upload,:styles => { :review => ["1000x1200>",:png],:thumb => ["100x100>",:png]},:default_url => "/images/:style/missing.png"

图像模型是用脚手架创建的,我添加了纸夹移动.表单部分已更新以使用

f.file_field :upload

该表单生成似乎是一组典型的回形针参数,图像参数包含上传.我也在图像模型中传递一个transaction_id,所以应该被允许.但是就是这样 – 图像和事务ID.

我期望能够在我的控制器中写下列内容将其帖子列入白名单,但失败:

def image_params
  params.require(:image).permit(:transaction_id,:upload)
end

所以我更明确 – 但是失败了:

def image_params
  params.require(:image).permit(:transaction_id,:upload => [:tempfile,:original_filename,:content_type,:headers])
end

我有点沮丧,Rails 4没有显示ForbiddenAttributesError在开发环境中失败 – 它应该显示错误,但它不会 – 将是一个很好的补丁来缓解开发.或者也许其他人正在收到我失踪的东西!非常感谢您的帮助.

解决方法

我明白现在在这里发生了什么 – 并将留下这个希望,帮助别人.我正在从rails 3项目移植代码,错过了创建图像的行:
@image = current_user.images.new(params[:image])

在轨道4中,这是不正确的(我知道).我更新到

@image = current_user.images.new(image_params)

解决了我的问题.

猜你在找的Ruby相关文章