Module: PostToS3::ViewHelpers

Defined in:
lib/post_to_s3/view_helpers.rb

Instance Method Summary collapse

Instance Method Details

#s3_upload_form_for(upload, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/post_to_s3/view_helpers.rb', line 3

def s3_upload_form_for(upload, &block)
  open_form = "<form action=\"\#{upload.bucket_url}\" enctype=\"multipart/form-data\" method=\"post\">\n<div>\n<input name=\"key\" type=\"hidden\" value=\"\#{upload.key}\" />\n<input name=\"AWSAccessKeyId\" type=\"hidden\" value=\"\#{upload.access_key_id}\" />\n<input name=\"acl\" type=\"hidden\" value=\"\#{upload.acl}\" />\n<input name=\"policy\" type=\"hidden\" value=\"\#{upload.policy}\" />\n<input name=\"signature\" type=\"hidden\" value=\"\#{upload.signature}\" />\n<input name=\"success_action_redirect\" type=\"hidden\" value=\"\#{upload.success_action_redirect}\" />\n"

  close_form = "\n</div>\n</form>\n"

  if respond_to?(:safe_concat)
    content = capture(&block)
    output = ActiveSupport::SafeBuffer.new
    output.safe_concat(open_form.html_safe)
    output << content
    output.safe_concat(close_form.html_safe)
  else
    concat(open_form)
    yield
    concat(close_form)
  end
end