我想让我的应用使用Shrine上传多个文件,但是one doc建议两个file_field
,而other建议一个。在他们的讨论论坛上发布问题后,建议我隐藏一个名为files[]
的问题。无论我是否执行此操作,第一个file_field
都始终无法呈现。为什么此字段不显示?
<%= form_for @item,html: { enctype: "multipart/form-data" } do |f| %>
<%= f.fields_for :photos do |i| %>
<%= i.label :image %>
<%= i.hidden_field :image,value: i.object.cached_photos_data,class: "upload-data" %>
<%= i.file_field :image,class: "upload-file" %> /// why is this not rendering??
<% end %>
<%= file_field_tag "files[]",multiple: true %> // what purpose does this one serve?
<%= f.text_field :title %>
<%= f.submit "Submit" %>
<% end %>
型号:
class Item < ApplicationRecord
has_many :photos,as: :imageable,dependent: :destroy
end
class Photo < ApplicationRecord
include ImagesUploader::Attachment(:image)
belongs_to :imageable,polymorphic: true
validates_presence_of :image
end
控制器:
class ItemsController < ApplicationController
def new
@item = current_user.items.new
end
def create
@item = current_user.items.create(item_params)
@item.save
end
private
def item_params
params.require(:item).permit(:title,photos_attributes: { image: [] })
end
end