diff --git a/lib/simple_form/form_builder.rb b/lib/simple_form/form_builder.rb index 6856f5fa..81324967 100644 --- a/lib/simple_form/form_builder.rb +++ b/lib/simple_form/form_builder.rb @@ -591,6 +591,7 @@ module SimpleForm # Returns a Boolean. def file_method?(attribute_name) @object.respond_to?("#{attribute_name}_attachment") || + @object.respond_to?("#{attribute_name}_attachments") || @object.respond_to?("remote_#{attribute_name}_url") || @object.respond_to?("#{attribute_name}_attacher") || @object.respond_to?("#{attribute_name}_file_name") diff --git a/test/form_builder/general_test.rb b/test/form_builder/general_test.rb index e0944a5f..1e17402a 100644 --- a/test/form_builder/general_test.rb +++ b/test/form_builder/general_test.rb @@ -244,6 +244,11 @@ class FormBuilderTest < ActionView::TestCase assert_select 'form input#user_with_attachment_avatar.file' end + test 'builder generates file input for ActiveStorage::Attached::Many' do + with_form_for UserWithAttachment.build, :avatars + assert_select 'form input#user_with_attachment_avatars.file' + end + test 'builder generates file input for Refile >= 0.3.0 and CarrierWave >= 0.2.2' do with_form_for UserWithAttachment.build, :cover assert_select 'form input#user_with_attachment_cover.file' diff --git a/test/support/models.rb b/test/support/models.rb index f990ee1c..17e0a53c 100644 --- a/test/support/models.rb +++ b/test/support/models.rb @@ -339,6 +339,10 @@ class UserWithAttachment < User OpenStruct.new end + def avatars_attachments + OpenStruct.new + end + def remote_cover_url "/uploads/cover.png" end