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

时间:2014-11-29 06:55:48

标签: ruby-on-rails ruby-on-rails-4 carrierwave

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

mount_uploader :filename, SubmitUploader
mount_uploader :modelrelease, ModelreleaseUploader

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

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

我没有收到任何错误。它根本不会上传。应该有pdf文件的字段有一个空字符串。

1 个答案:

答案 0 :(得分:6)

这可能是strong parameters问题,您尝试直接访问该值并且它不会为您提供值。

由于它是数组或散列,请将其视为标量值,如here所示。看看你是否有关于

的文件信息
params.permit(submits: [])

params.require(:submits).permit!