Ruby on Rails:如何将占位符文本添加到f.text_field?

时间:2010-07-15 19:31:34

标签: ruby-on-rails

如何在我的placeholder字段中添加f.text_field文字,以便默认情况下预先写入文字,当用户在字段内点击时,文字会消失 - 允许用户输入新文字?

6 个答案:

答案 0 :(得分:259)

使用rails> = 3.0,您只需使用placeholder选项。

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

答案 1 :(得分:31)

在Rails 4中(使用HAML):

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

答案 2 :(得分:14)

对于使用Rails(4.2)国际化(I18n)的人:

将占位符属性设置为true:

f.text_field :attr, placeholder: true

并在您的本地文件(即en.yml)中:

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

答案 3 :(得分:2)

如果使用rails 4+

,这是一个更清晰的语法
<%= f.text_field :attr, placeholder: "placeholder text" %>

因此rails 4+现在可以使用此语法而不是哈希语法

答案 4 :(得分:1)

在视图模板中,设置默认值:

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

在你的Javascript中(假设这里是jquery):

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

答案 5 :(得分:0)

我尝试了上面的解决方案,它看起来像在Rails 5上。*默认情况下,第二个参数是输入表单的值,对我有用的是:

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