Ruby on rails Ruby on Rails回形针多重上传,带有嵌套属性
我想知道是否有人可以帮我上传文件 我正在尝试使用回形针和嵌套属性上传多个图像 型号 查看Ruby on rails Ruby on Rails回形针多重上传,带有嵌套属性,ruby-on-rails,ruby,ruby-on-rails-4,paperclip,nested-attributes,Ruby On Rails,Ruby,Ruby On Rails 4,Paperclip,Nested Attributes,我想知道是否有人可以帮我上传文件 我正在尝试使用回形针和嵌套属性上传多个图像 型号 查看 如何在行程图像数据库中保存多个图像?当我提交表单时,没有任何内容保存到数据库中。添加:trip\u id到trip\u image\u属性: def trip_params params.require(:trip).permit( :user_id, trip_images_attributes: [:trip_id, :id, :photo]) # :_destroy end
如何在行程图像数据库中保存多个图像?当我提交表单时,没有任何内容保存到数据库中。添加
:trip\u id
到trip\u image\u属性
:
def trip_params
params.require(:trip).permit(
:user_id,
trip_images_attributes: [:trip_id, :id, :photo]) # :_destroy
end
如果您计划删除照片,还可以添加:_destroy
您还错过了将接受:trip\u图像的嵌套属性添加到trip
模型中
将表单更改为以下内容:
= f.simple_fields_for :trip_images do |tp|
= render 'trip_photos_fields', f: photo
.links
%br= link_to_add_association 'Add another photo', f
和\u trip\u photos\u fields.html.haml
部分:
- unless f.object.new_record?
%br= link_to_remove_association "Delete photo", f
= link_to image_tag(f.object.photo.url(:medium)), f.object.photo.url, target: '_blank'
- if f.object.new_record?
= f.file_field :photo, as: :file
尝试将trip\u图像属性:[:id,:photo])
更改为trip\u图像属性:[:id,:photo=>[]])
并在trip
模型中添加接受:trip\u图像的嵌套属性。您能将一段带有请求的日志发布到创建操作吗?@Pavan当我尝试此操作时,我得到一个错误找不到的处理程序[#@AndreyDeineko是的!我有时间的时候可以提供一些信息。可能会在博客上发布。我没有看过太多关于refile的教程。但是,我无法实现dropzonejs。这是一件令人头痛的事情。当我尝试这个时,我检查了我的数据库,只有一条记录。我试图检索这个记录,这就是我想要的我得到:/images/{“id”:1,“trip_id”:19,“创建时间”:“2015-07-20T07:36:17.820Z”,“更新时间”:“2015-07-20T07:36:17.820Z”,“照片文件名”:null,“照片内容类型”:null,“照片文件大小”:null,“照片更新时间”:null}
在img src标签中,使用以下命令:
,我试图在这个文件中保存多张照片attempt@hellomello你原来的问题解决了,现在你有了另一个问题-是空的而不是照片文件名..你安装了imagemagic吗?这是回形针工作所必需的。好吧,我不是在保存多次上传ying完成。它只保存了1条记录。另外,我通过检查版本检查了是否安装了ImageMagick,我也检查了。版本:ImageMagick 6.8.7-7 Q16 x86_64 2013-11-27
通过使用convert-version
@hellomello使其保存多次上传,您必须更改表单才能实际接受这些照片。我将进行编辑答案我一直在查看console中的参数,我注意到我得到了以下信息:name=\“trip[trip\u images\u attributes][0][photo][]”
在所有图像上。因此,如果我上传了5张图像,那么所有5张图像的参数中都有该参数,试图保存到数据库中。另外,在参数的末尾,有这样一个:未经允许的参数:photo
def trip_params
params.require(:trip).permit(
:user_id,
trip_images_attributes: [:trip_id, :id, :photo]) # :_destroy
end
= f.simple_fields_for :trip_images do |tp|
= render 'trip_photos_fields', f: photo
.links
%br= link_to_add_association 'Add another photo', f
- unless f.object.new_record?
%br= link_to_remove_association "Delete photo", f
= link_to image_tag(f.object.photo.url(:medium)), f.object.photo.url, target: '_blank'
- if f.object.new_record?
= f.file_field :photo, as: :file