【发布时间】:2019-11-13 14:02:13
【问题描述】:
我在尝试使用 Simple Form gem 上传视频时遇到了问题。我为此使用 ActiveStorage 和本地存储。 我的表单如下所示:
= simple_form_for @film do |f|
= f.error_notification
= f.input :title, as: :string
= f.input :description, as: :string
= f.input :cover_img, as: :file
= f.input :film_link, as: :file, direct_upload: true
= f.button :submit
= link_to 'back', :back, class: 'btn btn-secondary'
我已按照此处的说明进行操作 https://edgeguides.rubyonrails.org/active_storage_overview.html
所以我在我的应用程序中包含了 js 和 css 文件。但这行不通。通过 simple_form 传递 direct_upload: true 似乎有些麻烦。
我还找到了文章 https://phase2online.com/blog/2018/10/03/easily-upload-files-with-active-storage-in-rails-5-2/ 并从 here 拉 git repo
当您在 _form 上使用 form_for 时,这将起作用。当我将表单更改为使用 simple_form gem(而不是 form_form 使用 simple_form_for)时,它将不起作用。
有人知道为什么这不起作用吗? 我使用 ruby 2.6.3 和 Rails 5.2.3 和 simple_form (5.0.1)
【问题讨论】:
-
代替
f.input,尝试使用f.file -
使用 f.file_field 而不是 f.input 将使此直接上传工作,但不会显示来自简单表单的所有错误消息。还是谢谢
标签: ruby ruby-on-rails-5 simple-form rails-activestorage