ruby-on-rails – 在rails控制器中获取Carrierwave上传的文件名
发布时间:2020-12-16 19:21:32 所属栏目:百科 来源:网络整理
导读:我需要在我的控制器中获取文件名和上传文件,以便我可以为上传的文件设置默认标题(或名称),如果用户没有指定一个.我使用Carrierwave上传文件. 我的控制器创建动作如下所示: def create @photo = Photo.new(params[:photo]) @photo.user_id = current_user.id
我需要在我的控制器中获取文件名和上传文件,以便我可以为上传的文件设置默认标题(或名称),如果用户没有指定一个.我使用Carrierwave上传文件.
我的控制器创建动作如下所示: def create @photo = Photo.new(params[:photo]) @photo.user_id = current_user.id respond_to do |format| if @photo.save format.html { redirect_to @photo,notice: 'Photo was successfully created.' } format.json { render action: 'show',status: :created,location: @photo } else format.html { render action: 'new' } format.json { render json: @photo.errors,status: :unprocessable_entity } end end end 解决方法
解决方案是从carrierwave文件中获取文件名,如下所示:
def create @photo = Photo.new(params[:photo]) @photo.user_id = current_user.id @photo.name = @photo.image.file.filename if @photo.name == "" respond_to do |format| if @photo.save format.html { redirect_to @photo,status: :unprocessable_entity } end end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |