This was filed as:
<#6080 I18n support for HTML5 placeholder attribute - Ruby on Rails - rails;
…and Aditya Sanghi suggsted I post to the list about it
Currently, Rails' I18n system automatically looks up localized text for <label> tags. It would be nice if it did something similar for the HTML5 placeholder attribute.
Your en.yml file would like this:
helpers:
placeholder:
person:
first_name: "John"
last_name: "Doe"
Your ERB would look the same:
<%= f.text_field :first_name %>
Your HTML would look like this:
<input id="person_first_name" name="person[first_name]" placeholder="John" type="text" />
Currently, you have to clutter up your markup like so:
<%= f.text_field :first_name, :placeholder => t('helpers.placeholder.person.first_name') %>
Paul
Should be fairly trivial to add this yourself:
-
alias the to_input_field_tag from Rails to to_input_field_tag_old (it’s in the InstanceTagMethods module of Rails if I recall correctly)
-
define your own to_input_field_tag
-
all that method needs to do is merge the I18n.t(“helpers.placeholder.#{object_name}.#{method_name}”) value into the options hash as :placeholder and then call the aliassed to_input_field_tag_old
Best regards
Peter De Berdt
I would encourage you to implement it and submit a patch following the
processes outlined in the contributors guide:
https://rails.lighthouseapp.com/projects/8994/sending-patches
It seems a good idea to me and creating a ticket and a patch for the
feature is the best way to get the Rails Core team to consider it in
detail.
Cheers,
Walter
P.S. - plus if it gets accepted, you have a nice little bragging right
for "I have contributed to the source code for Rails"
Thanks for the pointer.
I submitted a patch to to_input_field_tag and attached it to the
ticket:
<Tickets - Ruby on Rails - rails
6080>
Paul