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