diff --git a/app/controllers/simple_captcha_controller.rb b/app/controllers/simple_captcha_controller.rb index 4358c32..62a8afa 100644 --- a/app/controllers/simple_captcha_controller.rb +++ b/app/controllers/simple_captcha_controller.rb @@ -5,8 +5,9 @@ class SimpleCaptchaController < ActionController::Metal # GET /simple_captcha def show unless params[:id].blank? - send_file( - generate_simple_captcha_image(params[:id]), + image = File.read generate_simple_captcha_image(params[:id]) + send_data( + image, :type => 'image/jpeg', :disposition => 'inline', :filename => 'simple_captcha.jpg') diff --git a/lib/simple_captcha/form_builder.rb b/lib/simple_captcha/form_builder.rb index 4bec7a7..8624f7e 100644 --- a/lib/simple_captcha/form_builder.rb +++ b/lib/simple_captcha/form_builder.rb @@ -26,7 +26,9 @@ def template end def simple_captcha_field(options={}) - text_field(:captcha, :value => '', :autocomplete => 'off') + + text_field_options = {:value => '', :autocomplete => 'off'} + text_field_options[:size] = options[:size] unless options[:size].nil? + text_field(:captcha, text_field_options) + hidden_field(:captcha_key, {:value => options[:field_value]}) end end diff --git a/lib/simple_captcha/image.rb b/lib/simple_captcha/image.rb index 62deed5..81c45c7 100755 --- a/lib/simple_captcha/image.rb +++ b/lib/simple_captcha/image.rb @@ -48,6 +48,7 @@ class Tempfile < ::Tempfile # Replaces Tempfile's +make_tmpname+ with one that honors file extensions. def make_tmpname(basename, n) extension = File.extname(basename) + n ||= 0 sprintf("%s,%d,%d%s", File.basename(basename, extension), $$, n, extension) end end