我想在第二步用头像上传建立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)
而不是正常的表单验证错误.
我怎么解决这个问题 ?谢谢 !