In goes a hash, out comes hidden fields. Great for preserving Rails parameters without abusing the session.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

HashToHiddenFields Build Status

Sometimes in your Rails app you want a user to begin an action, log in, then complete the action. You smash their params into the session, let the user log in, then pull their params out of the session when the login is successful. END SESSION STORE ABUSE! A better way is to have the login form resubmit the params.

Add this to your Gemfile:

gem "hash_to_hidden_fields"

Filter the params you want to save and turn them into hidden fields in your form:

<%= hash_to_hidden_fields(@params_to_save) %>

When the form is submitted, all the old params will come through! Nested arrays and nested hashes are all preserved.

Help make it better!

Find a problem? Open an issue. Or, even better, code it yourself and send a pull request:

# fork it on github, then clone:
git clone
bundle install
# hack away
git push
# then make a pull request


Public domain; no restrictions.