Ruby on Rails: Как добавить текст-заполнитель в f.text_field?

Как я могу добавить текст placeholder в мои поля f.text_field, чтобы текст был предварительно написан по умолчанию, а когда пользователь нажимает внутри полей, текст уходит - это позволяет пользователю вводить новый текст

Ответ 1

С рельсами >= 3.0 вы можете просто использовать опцию placeholder.

f.text_field :attr, placeholder: "placeholder text"

Ответ 2

В Rails 4 (с использованием HAML):

=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name'

Ответ 3

Для тех, кто использует Rails (4.2) Интернационализация (I18n):

Установите для атрибута placeholder значение true:

f.text_field :attr, placeholder: true

и в вашем локальном файле (например, en.yml):

en:
  helpers:
    placeholder:
      model_name:
        attr: "some placeholder text"

Ответ 4

Вот гораздо более чистый синтаксис при использовании rails 4+

<%= f.text_field :attr, placeholder: "placeholder text" %>

Итак, rails 4+ теперь может использовать этот синтаксис вместо синтаксиса хэша

Ответ 5

В вашем шаблоне просмотра задайте значение по умолчанию:

f.text_field :password, :value => "password"

В вашем Javascript (предполагая jquery здесь):

$(document).ready(function() {
  //add a handler to remove the text
});

Ответ 6

Я пробовал решения выше, и это похоже на рельсы 5. * Вторым фактором по умолчанию является значение формы ввода, что мне помогло:

text_field_tag :attr, "", placeholder: "placeholder text"