Module: Uploadcare::Rails::Internal::UploaderFieldHelpers
- Defined in:
- lib/uploadcare/rails/internal/uploader_field_helpers.rb
Instance Method Summary collapse
- #uploadcare_file_field(object_name, method_name, ctx_name: nil, solution: "regular", **options) ⇒ Object
- #uploadcare_file_field_tag(name, ctx_name: nil, solution: "regular", **options) ⇒ Object
- #uploadcare_files_field(object_name, method_name, ctx_name: nil, solution: "regular", **options) ⇒ Object
- #uploadcare_files_field_tag(name, ctx_name: nil, solution: "regular", **options) ⇒ Object
Instance Method Details
#uploadcare_file_field(object_name, method_name, ctx_name: nil, solution: "regular", **options) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/uploadcare/rails/internal/uploader_field_helpers.rb', line 10 def uploadcare_file_field(object_name, method_name, ctx_name: nil, solution: "regular", **) object = instance_variable_get("@#{object_name}") unless .key?(:multiple) [:multiple] = true if uploadcare_file_group_attribute?(object_name, method_name, object: object) end ctx_name ||= SecureRandom.uuid field_name = "#{object_name}[#{method_name}]" [:value] = object.public_send(method_name) if !.key?(:value) && object&.respond_to?(method_name) field_html = uploadcare_file_field_tag(field_name, ctx_name: ctx_name, solution: solution, **) if uploadcare_object_has_errors?(object, method_name) uploadcare_error_wrapping(field_html) else field_html end end |
#uploadcare_file_field_tag(name, ctx_name: nil, solution: "regular", **options) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/uploadcare/rails/internal/uploader_field_helpers.rb', line 29 def uploadcare_file_field_tag(name, ctx_name: nil, solution: "regular", **) ctx_name ||= SecureRandom.uuid value = .delete(:value) form_input = uploadcare_form_input_tag(name: name, ctx_name: ctx_name, value: value) uploader = uploadcare_uploader(ctx_name: ctx_name, solution: solution, **) safe_join([ form_input, uploader ]) end |
#uploadcare_files_field(object_name, method_name, ctx_name: nil, solution: "regular", **options) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/uploadcare/rails/internal/uploader_field_helpers.rb', line 39 def uploadcare_files_field(object_name, method_name, ctx_name: nil, solution: "regular", **) uploadcare_file_field( object_name, method_name, ctx_name: ctx_name, solution: solution, **() ) end |
#uploadcare_files_field_tag(name, ctx_name: nil, solution: "regular", **options) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/uploadcare/rails/internal/uploader_field_helpers.rb', line 49 def uploadcare_files_field_tag(name, ctx_name: nil, solution: "regular", **) uploadcare_file_field_tag( name, ctx_name: ctx_name, solution: solution, **() ) end |