如何使用Rails中的Carierwave将两种类型的文件上传到同一个模型中?

THp*_*ubs 4 ruby-on-rails carrierwave ruby-on-rails-4

对于我的模型,我需要上传两个文件.一个是图像,另一个是pdf文件.我首先上传图像,然后应用程序将我带到另一个页面来设置标题,描述等.在该页面中,我需要上传第二个文件.但它不起作用.以下是我在模型中设置上传者的方法:

mount_uploader :filename, SubmitUploader
mount_uploader :modelrelease, ModelreleaseUploader
Run Code Online (Sandbox Code Playgroud)

第一个文件正在上传.第二个不是.另请注意,在编辑屏幕中,我一次编辑多个记录.这是控制器:

def uploadscheck
    @submits = Submit.update(params[:submits].keys, params[:submits].values)

    if @submits.empty?
        redirect_to root_url
    else
        @rejected = current_user.rejected
        render 'uploaded'
    end
end
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误.它根本不会上传.应该具有pdf文件的字段具有空字符串.

raf*_*fb3 6

它可能是一个强参数问题,您尝试直接访问该值并且它不会为您提供值.

由于它是一个数组或哈希,把它作为一个标量值,如图这里.查看您是否有文件信息

params.permit(submits: [])
Run Code Online (Sandbox Code Playgroud)

要么

params.require(:submits).permit!
Run Code Online (Sandbox Code Playgroud)