我正在尝试使用Dropzone.js在我的Rails应用程序中上传文件。 似乎如果我使用标准设置,整个表单将成为图像上载字段。但是,我的表单也包含其他字段。我只想在file_field区域使用Dropzone.js。
我使用的步骤是:
的Gemfile
gem 'rails-assets-dropzonejs', source: 'https://rails-assets.org'
的application.js
//= require dropzonejs
application.css
*= require dropzonejs
_form.html.erb
<%= form_for @activity, html: {class: 'ui form'} do |f| %>
<!-- Fields like this one don't need to be dropzone fields -->
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<!-- The following field does -->
<div class="field">
<%= f.label :gallery_images %>
<%= f.file_field :gallery_images, multiple: true, class: 'drop' %>
<%= f.hidden_field :gallery_images_cache %>
</div>
<% end %>
activities.coffee
$ ->
$('.drop').dropzone({ url: "/activities/post" });
正如您所看到的,我正在尝试将Dropzone绑定到我已附加到file_field的'drop'类。但是,这似乎无法正常工作,我在控制台中看不到任何错误。
任何人都知道如何让Dropzone.js为Rails表单中的file_field工作?或者我可以只将它绑定到整个表单吗?
非常感谢任何帮助!谢谢!
答案 0 :(得分:0)
您需要允许:file
参数。很可能会有代码中的代码
private
def activities_params
params.permit(:name, ...other_params)
end
将:file
添加到permit方法
私人
def activities_params
params.permit(...other_params, :file)
end