Rails submit button text (formtastic) - how to change label of submit button?

Michael Durrant picture Michael Durrant · Aug 8, 2012 · Viewed 7.5k times · Source

I am using simple_form and the following code to create the button.

<%= form.action :submit, :value => "submit", :button_html => { :class => "lagoon" }  %>

However the button is (still) labeled 'Create User' instead of 'submit'. I thought setting the value => would do it but it didn't

Answer

remo picture remo · Jan 20, 2013

Probably better and correct way is to use :label key and keep :button_html for styling

<%= form.action :submit, :label => "Submit", :button_html => { :class => "lagoon" } %>

I think best idea is to use I18n keys. Check Formtastic docs:

Formtastic decides which label to use in the following order:

  1. :label # :label => "Choose Title"
  2. Formtastic i18n # if either :label => true || i18n_lookups_by_default = true (see Internationalization)
  3. Activerecord i18n # if localization file found for the given attribute
  4. label_str_method # if nothing provided this defaults to :humanize but can be set to a custom method

https://github.com/justinfrench/formtastic