小编Alp*_*haB的帖子

带图像上传器的多步形式

我想在第二步用头像上传建立3步用户注册.所以我按照Ryan Bates的指南http://railscasts.com/episodes/217-multistep-forms.我正在使用CarrierWave gem来处理上传.但似乎我无法在用户会话中存储上传的文件信息(我得到无法转储文件错误).我在控制器中使用以下技术

if params[:user][:img_path]
  @uploader = FirmImgUploader.new
  @uploader.store!(params[:user][:img_path])
  session[:img] = @uploader
  params[:user].delete(:img_path)
end
Run Code Online (Sandbox Code Playgroud)

它确实有帮助.但是当我上传禁止的文件类型时,这一行上的所有内容都会崩溃

@uploader.store!(params[:user][:img_path])
Run Code Online (Sandbox Code Playgroud)

有这个错误

CarrierWave::IntegrityError in UsersController#create
You are not allowed to upload "docx" files, allowed types: ["jpg", "jpeg", "gif", "png"]
Run Code Online (Sandbox Code Playgroud)

而不是正常的表单验证错误.

我怎么解决这个问题 ?谢谢 !

ruby ruby-on-rails ruby-on-rails-3 carrierwave

6
推荐指数
1
解决办法
1765
查看次数