Saving signatures has never been easier!
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install john_hancock
With the gem installed, simply include it in the relevant JS manifest
//= require john_hancock
Then you are free to use it in the view
<%= form_for @user do |f| %> <%= f.signature_field :signature %> <%= f.submit %> <% end %>
Once this is saved, you can output the string as an image.
<%= image_tag @user.signature %>
The signature_field method generates a canvas as well as a hidden field. If you would like more flexibility in the placement of these elements you can use them separately.
<%= form_for @user do |f| %> <%= f.signature_canvas %> <p>some text about the form</p> <%= f.hidden_signature_field :signature %> <%= f.submit %> <% end %>
The underlying JS library, Signature Pad, is written by Thomas J Bradley.
Bug reports and pull requests are welcome on GitHub at https://github.com/Brantron/john_hancock.
The gem is available as open source under the terms of the MIT License.