class ActionView::Helpers::FormBuilder
def file_field(method, options = {})
file_field(:file, class: 'file_input')
# Let's say that @attachment has file:
# =>
file_field(:image, accept: 'image/png,image/gif,image/jpeg')
# Let's say that @post has image:
# =>
file_field(:attached, accept: 'text/html')
# Let's say that @post has attached:
# =>
file_field(:image, :multiple => true)
# Let's say that @post has image:
# =>
file_field(:avatar)
# Let's say that @user has avatar:
==== Examples
* :accept - If set to one or multiple mime-types, the user will be suggested a filter when choosing a file. You still need to set up model validations.
* :include_hidden - When multiple: true and include_hidden: true, the field will be prefixed with an field with an empty value to support submitting an empty collection of files. Since include_hidden will default to config.active_storage.multiple_file_field_include_hidden if you don't specify include_hidden, you will need to pass include_hidden: false to prevent submitting an empty collection of files when passing multiple: true.
* :multiple - If set to true, *in most updated browsers* the user will be allowed to select multiple files.
* :disabled - If set to true, the user will not be able to use this input.
* Creates standard HTML attributes for the tag.
==== Options
Using this method inside a +form_with+ block will set the enclosing form's encoding to multipart/form-data.
shown.
hash with +options+. These options will be tagged onto the HTML as an HTML element attribute as in the example
assigned to the template (identified by +object+). Additional options on the input tag can be passed as a
Returns a file upload input tag tailored for accessing a specified attribute (identified by +method+) on an object
def file_field(method, options = {}) self.multipart = true @template.file_field(@object_name, method, objectify_options(options)) end